|
|
|
const { strict: assert } = require('assert');
|
|
|
|
|
|
|
|
const enLocaleMessages = require('../../app/_locales/en/messages.json');
|
|
|
|
const { tinyDelayMs, regularDelayMs, largeDelayMs } = require('./helpers');
|
|
|
|
const { buildWebDriver } = require('./webdriver');
|
|
|
|
const Ganache = require('./ganache');
|
|
|
|
|
|
|
|
const ganacheServer = new Ganache();
|
|
|
|
|
|
|
|
describe('MetaMask', function () {
|
|
|
|
let driver;
|
|
|
|
let tokenAddress;
|
|
|
|
|
|
|
|
const testSeedPhrase =
|
|
|
|
'phrase upgrade clock rough situate wedding elder clever doctor stamp excess tent';
|
|
|
|
|
|
|
|
this.timeout(0);
|
|
|
|
this.bail(true);
|
|
|
|
|
|
|
|
before(async function () {
|
|
|
|
await ganacheServer.start();
|
|
|
|
const result = await buildWebDriver();
|
|
|
|
driver = result.driver;
|
|
|
|
await driver.navigate();
|
|
|
|
});
|
|
|
|
|
|
|
|
afterEach(async function () {
|
|
|
|
if (process.env.SELENIUM_BROWSER === 'chrome') {
|
|
|
|
const errors = await driver.checkBrowserForConsoleErrors(driver);
|
|
|
|
if (errors.length) {
|
|
|
|
const errorReports = errors.map((err) => err.message);
|
|
|
|
const errorMessage = `Errors found in browser console:\n${errorReports.join(
|
|
|
|
'\n',
|
|
|
|
)}`;
|
|
|
|
console.error(new Error(errorMessage));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (this.currentTest.state === 'failed') {
|
|
|
|
await driver.verboseReportOnFailure(this.currentTest.title);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
after(async function () {
|
|
|
|
await ganacheServer.quit();
|
|
|
|
await driver.quit();
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('Going through the first time flow', function () {
|
|
|
|
it('clicks the continue button on the welcome screen', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.findElement('.welcome-page__header');
|
|
|
|
await driver.clickElement({
|
|
|
|
text: enLocaleMessages.getStarted.message,
|
|
|
|
tag: 'button',
|
|
|
|
});
|
|
|
|
await driver.delay(largeDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('clicks the "Create New Wallet" option', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Create a Wallet', tag: 'button' });
|
|
|
|
await driver.delay(largeDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('clicks the "No thanks" option on the metametrics opt-in screen', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('.btn-default');
|
|
|
|
await driver.delay(largeDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('accepts a secure password', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.fill(
|
|
|
|
'.first-time-flow__form #create-password',
|
|
|
|
'correct horse battery staple',
|
|
|
|
);
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.fill(
|
|
|
|
'.first-time-flow__form #confirm-password',
|
|
|
|
'correct horse battery staple',
|
|
|
|
);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('.first-time-flow__checkbox');
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('.first-time-flow__form button');
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
let seedPhrase;
|
|
|
|
|
|
|
|
it('renders the Secret Recovery Phrase intro screen', async function () {
|
|
|
|
await driver.clickElement('.seed-phrase-intro__left button');
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('reveals the Secret Recovery Phrase', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
const byRevealButton =
|
|
|
|
'.reveal-seed-phrase__secret-blocker .reveal-seed-phrase__reveal-button';
|
|
|
|
await driver.findElement(byRevealButton);
|
|
|
|
await driver.clickElement(byRevealButton);
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
|
|
|
const revealedSeedPhrase = await driver.findElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.reveal-seed-phrase__secret-words',
|
|
|
|
);
|
|
|
|
seedPhrase = await revealedSeedPhrase.getText();
|
|
|
|
assert.equal(seedPhrase.split(' ').length, 12);
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({
|
|
|
|
text: enLocaleMessages.next.message,
|
|
|
|
tag: 'button',
|
|
|
|
});
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
async function clickWordAndWait(word) {
|
|
|
|
await driver.clickElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
`[data-testid="seed-phrase-sorted"] [data-testid="draggable-seed-${word}"]`,
|
|
|
|
);
|
|
|
|
await driver.delay(tinyDelayMs);
|
|
|
|
}
|
|
|
|
|
|
|
|
it('can retype the Secret Recovery Phrase', async function () {
|
|
|
|
const words = seedPhrase.split(' ');
|
|
|
|
|
|
|
|
for (const word of words) {
|
|
|
|
await clickWordAndWait(word);
|
|
|
|
}
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Confirm', tag: 'button' });
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('clicks through the success screen', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.findElement({ text: 'Congratulations', tag: 'div' });
|
|
|
|
await driver.clickElement({
|
|
|
|
text: enLocaleMessages.endOfFlowMessage10.message,
|
|
|
|
tag: 'button',
|
|
|
|
});
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
describe("Close the what's new popup", function () {
|
|
|
|
it("should show the what's new popover", async function () {
|
|
|
|
const popoverTitle = await driver.findElement(
|
|
|
|
'.popover-header__title h2',
|
|
|
|
);
|
|
|
|
|
|
|
|
assert.equal(await popoverTitle.getText(), "What's new");
|
|
|
|
});
|
|
|
|
|
|
|
|
it("should close the what's new popup", async function () {
|
|
|
|
const popover = await driver.findElement('.popover-container');
|
|
|
|
|
|
|
|
await driver.clickElement('[data-testid="popover-close"]');
|
|
|
|
|
|
|
|
await popover.waitForElementState('hidden');
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('Show account information', function () {
|
|
|
|
it('shows the QR code for the account', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('[data-testid="account-options-menu-button"]');
|
|
|
|
await driver.clickElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'[data-testid="account-options-menu__account-details"]',
|
|
|
|
);
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.findVisibleElement('.qr-code__wrapper');
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
// wait for permission modal to be visible.
|
|
|
|
const permissionModal = await driver.findVisibleElement('span .modal');
|
|
|
|
await driver.clickElement('.account-modal__close');
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
// wait for permission modal to be removed from DOM.
|
|
|
|
await permissionModal.waitForElementState('hidden');
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('Lock an unlock', function () {
|
|
|
|
it('logs out of the account', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('.account-menu__icon');
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
|
|
|
const lockButton = await driver.findClickableElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.account-menu__lock-button',
|
|
|
|
);
|
|
|
|
assert.equal(await lockButton.getText(), 'Lock');
|
|
|
|
await lockButton.click();
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('accepts the account password after lock', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.fill('#password', 'correct horse battery staple');
|
|
|
|
await driver.press('#password', driver.Key.ENTER);
|
|
|
|
await driver.delay(largeDelayMs * 4);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('Add account', function () {
|
|
|
|
it('choose Create Account from the account menu', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('.account-menu__icon');
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Create Account', tag: 'div' });
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('set account name', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.fill('.new-account-create-form input', '2nd account');
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Create', tag: 'button' });
|
|
|
|
await driver.delay(largeDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should display correct account name', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
const accountName = await driver.findElement('.selected-account__name');
|
|
|
|
assert.equal(await accountName.getText(), '2nd account');
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('Import Secret Recovery Phrase', function () {
|
|
|
|
it('logs out of the vault', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('.account-menu__icon');
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
|
|
|
const lockButton = await driver.findClickableElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.account-menu__lock-button',
|
|
|
|
);
|
|
|
|
assert.equal(await lockButton.getText(), 'Lock');
|
|
|
|
await lockButton.click();
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('imports Secret Recovery Phrase', async function () {
|
|
|
|
const restoreSeedLink = await driver.findClickableElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.unlock-page__link--import',
|
|
|
|
);
|
|
|
|
assert.equal(
|
|
|
|
await restoreSeedLink.getText(),
|
|
|
|
'import using Secret Recovery Phrase',
|
|
|
|
);
|
|
|
|
await restoreSeedLink.click();
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('.import-account__checkbox-container');
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.fill('.import-account__secret-phrase', testSeedPhrase);
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.fill('#password', 'correct horse battery staple');
|
|
|
|
await driver.fill('#confirm-password', 'correct horse battery staple');
|
|
|
|
await driver.clickElement({
|
|
|
|
text: enLocaleMessages.restore.message,
|
|
|
|
tag: 'button',
|
|
|
|
});
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('balance renders', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.waitForSelector({
|
|
|
|
css: '[data-testid="wallet-balance"] .list-item__heading',
|
|
|
|
text: '100 ETH',
|
|
|
|
});
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('Send ETH from inside MetaMask using default gas', function () {
|
|
|
|
it('starts a send transaction', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('[data-testid="eth-overview-send"]');
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.fill(
|
|
|
|
'input[placeholder="Search, public address (0x), or ENS"]',
|
|
|
|
'0x2f318C334780961FB129D2a6c30D0763d9a5C970',
|
|
|
|
);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
const inputAmount = await driver.findElement('.unit-input__input');
|
|
|
|
await inputAmount.fill('1000');
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
const errorAmount = await driver.findElement('.send-v2__error-amount');
|
|
|
|
assert.equal(
|
|
|
|
await errorAmount.getText(),
|
|
|
|
'Insufficient funds.',
|
|
|
|
'send screen should render an insufficient fund error message',
|
|
|
|
);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await inputAmount.press(driver.Key.BACK_SPACE);
|
|
|
|
await driver.delay(50);
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await inputAmount.press(driver.Key.BACK_SPACE);
|
|
|
|
await driver.delay(50);
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await inputAmount.press(driver.Key.BACK_SPACE);
|
|
|
|
await driver.delay(tinyDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.assertElementNotPresent('.send-v2__error-amount');
|
|
|
|
|
|
|
|
const amountMax = await driver.findClickableElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.send-v2__amount-max',
|
|
|
|
);
|
|
|
|
await amountMax.click();
|
|
|
|
|
|
|
|
let inputValue = await inputAmount.getAttribute('value');
|
|
|
|
|
|
|
|
assert(Number(inputValue) > 99);
|
|
|
|
|
|
|
|
await amountMax.click();
|
|
|
|
|
|
|
|
assert.equal(await inputAmount.isEnabled(), true);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await inputAmount.fill('1');
|
|
|
|
|
|
|
|
inputValue = await inputAmount.getAttribute('value');
|
|
|
|
assert.equal(inputValue, '1');
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
|
|
|
// Continue to next screen
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Next', tag: 'button' });
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('confirms the transaction', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Confirm', tag: 'button' });
|
|
|
|
await driver.delay(largeDelayMs * 2);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('finds the transaction in the transactions list', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('[data-testid="home__activity-tab"]');
|
|
|
|
await driver.wait(async () => {
|
|
|
|
const confirmedTxes = await driver.findElements(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.transaction-list__completed-transactions .transaction-list-item',
|
|
|
|
);
|
|
|
|
return confirmedTxes.length === 1;
|
|
|
|
}, 10000);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.waitForSelector({
|
|
|
|
css: '.transaction-list-item__primary-currency',
|
|
|
|
text: '-1 ETH',
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('Send ETH from inside MetaMask using fast gas option', function () {
|
|
|
|
it('starts a send transaction', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('[data-testid="eth-overview-send"]');
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.fill(
|
|
|
|
'input[placeholder="Search, public address (0x), or ENS"]',
|
|
|
|
'0x2f318C334780961FB129D2a6c30D0763d9a5C970',
|
|
|
|
);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
const inputAmount = await driver.findElement('.unit-input__input');
|
|
|
|
await inputAmount.fill('1');
|
|
|
|
|
|
|
|
const inputValue = await inputAmount.getAttribute('value');
|
|
|
|
assert.equal(inputValue, '1');
|
|
|
|
|
|
|
|
// Set the gas price
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Fast', tag: 'button/div/div' });
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
|
|
|
// Continue to next screen
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Next', tag: 'button' });
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('confirms the transaction', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Confirm', tag: 'button' });
|
|
|
|
await driver.delay(largeDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('finds the transaction in the transactions list', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.waitForSelector(
|
|
|
|
'.transaction-list__completed-transactions .transaction-list-item:nth-child(2)',
|
|
|
|
);
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.waitForSelector({
|
|
|
|
css: '.transaction-list-item__primary-currency',
|
|
|
|
text: '-1 ETH',
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('Send ETH from inside MetaMask using advanced gas modal', function () {
|
|
|
|
it('starts a send transaction', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('[data-testid="eth-overview-send"]');
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.fill(
|
|
|
|
'input[placeholder="Search, public address (0x), or ENS"]',
|
|
|
|
'0x2f318C334780961FB129D2a6c30D0763d9a5C970',
|
|
|
|
);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
const inputAmount = await driver.findElement('.unit-input__input');
|
|
|
|
await inputAmount.fill('1');
|
|
|
|
|
|
|
|
const inputValue = await inputAmount.getAttribute('value');
|
|
|
|
assert.equal(inputValue, '1');
|
|
|
|
|
|
|
|
// Set the gas limit
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('.advanced-gas-options-btn');
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
// wait for gas modal to be visible
|
|
|
|
const gasModal = await driver.findVisibleElement('span .modal');
|
|
|
|
|
|
|
|
await driver.clickElement({ text: 'Save', tag: 'button' });
|
|
|
|
|
|
|
|
// Wait for gas modal to be removed from DOM
|
|
|
|
await gasModal.waitForElementState('hidden');
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
|
|
|
// Continue to next screen
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Next', tag: 'button' });
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('confirms the transaction', async function () {
|
|
|
|
const transactionAmounts = await driver.findElements(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.currency-display-component__text',
|
|
|
|
);
|
|
|
|
const transactionAmount = transactionAmounts[0];
|
|
|
|
assert.equal(await transactionAmount.getText(), '1');
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Confirm', tag: 'button' });
|
|
|
|
await driver.delay(largeDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('finds the transaction in the transactions list', async function () {
|
|
|
|
await driver.wait(async () => {
|
|
|
|
const confirmedTxes = await driver.findElements(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.transaction-list__completed-transactions .transaction-list-item',
|
|
|
|
);
|
|
|
|
return confirmedTxes.length === 3;
|
|
|
|
}, 10000);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.waitForSelector(
|
|
|
|
{
|
|
|
|
css: '.transaction-list-item__primary-currency',
|
|
|
|
text: '-1 ETH',
|
|
|
|
},
|
|
|
|
{ timeout: 10000 },
|
|
|
|
);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('Send ETH from dapp using advanced gas controls', function () {
|
|
|
|
let windowHandles;
|
|
|
|
let extension;
|
|
|
|
let popup;
|
|
|
|
let dapp;
|
|
|
|
|
|
|
|
it('goes to the settings screen', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('.account-menu__icon');
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Settings', tag: 'div' });
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
// await driver.findElement('.tab-bar')
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Advanced', tag: 'div' });
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
|
|
|
await driver.clickElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'[data-testid="advanced-setting-show-testnet-conversion"] .settings-page__content-item-col > div > div',
|
|
|
|
);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
const advancedGasTitle = await driver.findElement({
|
|
|
|
text: 'Advanced gas controls',
|
|
|
|
tag: 'span',
|
|
|
|
});
|
|
|
|
await driver.scrollToElement(advancedGasTitle);
|
|
|
|
|
|
|
|
await driver.clickElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'[data-testid="advanced-setting-advanced-gas-inline"] .settings-page__content-item-col > div > div',
|
|
|
|
);
|
|
|
|
windowHandles = await driver.getAllWindowHandles();
|
|
|
|
extension = windowHandles[0];
|
|
|
|
await driver.closeAllWindowHandlesExcept([extension]);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('.app-header__logo-container');
|
|
|
|
|
|
|
|
await driver.delay(largeDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('connects the dapp', async function () {
|
|
|
|
await driver.openNewPage('http://127.0.0.1:8080/');
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Connect', tag: 'button' });
|
|
|
|
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
|
|
|
await driver.waitUntilXWindowHandles(3);
|
|
|
|
windowHandles = await driver.getAllWindowHandles();
|
|
|
|
|
|
|
|
extension = windowHandles[0];
|
|
|
|
dapp = await driver.switchToWindowWithTitle(
|
|
|
|
'E2E Test Dapp',
|
|
|
|
windowHandles,
|
|
|
|
);
|
|
|
|
popup = windowHandles.find(
|
|
|
|
(handle) => handle !== extension && handle !== dapp,
|
|
|
|
);
|
Connect distinct accounts per site (#7004)
* add PermissionsController
remove provider approval controller
integrate rpc-cap
create PermissionsController
move provider approval functionality to permissions controller
add permissions approval ui, settings page
add permissions activity and history
move some functionality to metamask-inpage-provider
rename siteMetadata -> domainMetadata
add accountsChange notification to inpage provider
move functionality to inpage provider
update inpage provider
Remove 'Connections' settings page (#7369)
add hooks for exposing accounts in settings
rename unused messages in non-English locales
Add external extension id to metadata (#7396)
update inpage provider, rpc-cap
add eth_requestAccounts handling to background
prevent notifying connections if extension is locked
update inpage provider
Fix lint errors
add migration
review fixes
transaction controller review updates
removed unused messages
* Login Per Site UI (#7368)
* LoginPerSite original UI changes to keep
* First commit
* Get necessary connected tab info for redirect and icon display for permissioned sites
* Fix up designs and add missing features
* Some lint fixes
* More lint fixes
* Ensures the tx controller + tx-state-manager orders transactions in the order they are received
* Code cleanup for LoginPerSite-ui
* Update e2e tests to use new connection flow
* Fix display of connect screen and app header after login when connect request present
* Update metamask-responsive-ui.spec for new item in accounts dropdown
* Fix approve container by replacing approvedOrigins with domainMetaData
* Adds test/e2e/permissions.spec.js
* Correctly handle cancellation of a permissions request
* Redirect to home after disconnecting all sites / cancelling all permissions
* Fix display of site icons in menu
* Fix height of permissions page container
* Remove unused locale messages
* Set default values for openExternalTabs and tabIdOrigins in account-menu.container
* More code cleanup for LoginPerSite-ui
* Use extensions api to close tab in permissions-connect
* Remove unnecessary change in domIsReady() in contentscript
* Remove unnecessary private function markers and class methods (for background tab info) in metamask-controller.
* Adds getOriginOfCurrentTab selector
* Adds IconWithFallback component and substitutes for appropriate cases
* Add and utilize font mixins
* Remove unused method in disconnect-all.container.js
* Simplify buttonSizeLarge code in page-container-footer.component.js
* Add and utilize getAccountsWithLabels selector
* Remove console.log in ui/app/store/actions.js
* Change last connected time format to yyyy-M-d
* Fix css associated with IconWithFallback change
* Ensure tracked openNonMetamaskTabsIDs are correctly set to inactive on tab changes
* Code cleanup for LoginPerSite-ui
* Use reusable function for modifying openNonMetamaskTabsIDs in background.js
* Enables automatic switching to connected account when connected domain is open
* Prevent exploit of tabIdOriginMap in background.js
* Remove unneeded code from contentscript.js
* Simplify current tab origin and window opener logic using remotePort listener tabs.queryTabs
* Design and styling fixes for LoginPerSite-ui
* Fix permissionHistory and permission logging for eth_requestAccounts and eth_accounts
* Front end changes to support display of lastConnected time in connected and permissions screens
* Fix lint errors
* Refactor structure of permissionsHistory
* Fix default values and object modifications for domain and permissionsHistory related data
* Fix connecting to new accounts from modal
* Replace retweet.svg with connect-white.svg
* Fix signature-request.spec
* Update metamask-inpage-provider version
* Fix permissions e2e tests
* Remove unneeded delay from test/e2e/signature-request.spec.js
* Add delay before attempting to retrieve network id in dapp in ethereum-on=.spec
* Use requestAccountTabIds strategy for determining tab id that opened a given window
* Improve default values for permissions requests
* Add some message descriptions to app/_locales/en/messages.json
* Code clean up in permission controller
* Stopped deep cloning object in mapObjectValues
* Bump metamask-inpage-provider version
* Add missing description in app/_locales/en/messages.json
* Return promises from queryTabs and switchToTab of extension.js
* Remove unused getAllPermissions function
* Use default props in icon-with-fallback.component.js
* Stop passing to permissions controller
* Delete no longer used clear-approved-origins modal code
* Remove duplicate imports in ui/app/components/app/index.scss
* Use URL instead of regex in getOriginFromUrl()
* Add runtime error checking to platform, promise based extension.tab methods
* Support permission requests from external extensions
* Improve font size and colour of the domain origin on the permission confirmation screen
* Add support for toggling permissions
* Ensure getRenderablePermissionsDomains only returns domains with exposedAccount caveat permissions
* Remove unused code from LoginPerSite-ui branch
* Ensure modal closes on Enter press for new-account-modal.component.js
* Lint fix
* fixup! Login Per Site UI (#7368)
* Some code cleanup for LoginPerSite
* Adds UX for connecting to dapps via the connected sites screen (#7593)
* Adds UX for connecting to dapps via the connected sites screen
* Use openMetaMaskTabIds from background.js to determine if current active tab is MetaMask
* Delete unused permissions controller methods
* Fixes two small bugs in the LoginPerSite ui (#7595)
* Restore `providerRequest` message translations (#7600)
This message was removed, but it was replaced with a very similar
message called `likeToConnect`. The only difference is that the new
message has "MetaMask" in it. Preserving these messages without
"MetaMask" is probably better than deleting them, so these messages
have all been restored and renamed to `likeToConnect`.
* Login per site no sitemetadata fix (#7610)
* Support connected sites for which we have no site metadata.
* Change property containing subtitle info often populated by origin to a more accurate of purpose name
* Lint fix
* Improve disconnection modal messages (#7612)
* Improve disconnectAccountModalDescription and disconnectAllModalDescription messages
* Update disconnectAccountModalDescription app/_locales/en/messages.json
Co-Authored-By: Mark Stacey <markjstacey@gmail.com>
* Improve disconnectAccount modal message clarity
* Adds cancel button to the account selection screen of the permissions request flow (#7613)
* Fix eth_accounts permission language & selectability (#7614)
* fix eth_accounts language & selectability
* fix MetaMask capitalization in all messages
* Close sidebar when opening connected sites (#7611)
The 'Connected Sites' button in the accounts details now closes the
sidebar, if it is open. This was accomplished by pulling the click
handler for that button up to the wallet view component, where another
button already followed a similar pattern of closing the sidebar.
It seemed confusing to me that one handler was in the `AccountsDetails`
container component, and one was handed down from above, so I added
PropTypes to the container component.
I'm not sure that the WalletView component is the best place for this
logic, but I've put it there for now to be consistent with the add
token button.
* Reject permissions request upon tab close (#7618)
Permissions requests are now rejected when the page is closed. This
only applies to the full-screen view, as that is the view permission
requests should be handled in. The case where the user deals with the
request through a different view is handled in #7617
* Handle tab update failure (#7619)
`extension.tabs.update` can sometimes fail if the user interacts with
the tabs directly around the same time. The redirect flow has been
updated to ensure that the permissions tab is still closed in that
case. The user is on their own to find the dapp tab again in that case.
* Login per site tab popup fixes (#7617)
* Handle redirect in response to state update in permissions-connect
* Ensure origin is available to permissions-connect subcomponents during redirect
* Hide app bar whenever on redirect route
* Improvements to handling of redirects in permissions-connect
* Ensure permission request id change handling only happens when page is not null
* Lint fix
* Decouple confirm transaction screen from the selected address (#7622)
* Avoid race condtion that could prevent contextual account switching (#7623)
There was a race condition in the logic responsible for switching the
selected account based upon the active tab. It was asynchronously
querying the active tab, then assuming it had been retrieved later.
The active tab info itself was already in the redux store in another
spot, one that is guaranteed to be set before the UI renders. The
race condition was avoided by deleting the duplicate state, and using
the other active tab state.
* Only redirect back to dapp if current tab is active (#7621)
The "redirect back to dapp" behaviour can be disruptive when the
permissions connect tab is not active. The purpose of the redirect was
to maintain context between the dapp and the permissions request, but
if the user has already moved to another tab, that no longer applies.
* Fix JSX style lint errors
* Remove unused state
5 years ago
|
|
|
|
|
|
|
await driver.switchToWindow(popup);
|
|
|
|
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Next', tag: 'button' });
|
|
|
|
await driver.clickElement({ text: 'Connect', tag: 'button' });
|
Connect distinct accounts per site (#7004)
* add PermissionsController
remove provider approval controller
integrate rpc-cap
create PermissionsController
move provider approval functionality to permissions controller
add permissions approval ui, settings page
add permissions activity and history
move some functionality to metamask-inpage-provider
rename siteMetadata -> domainMetadata
add accountsChange notification to inpage provider
move functionality to inpage provider
update inpage provider
Remove 'Connections' settings page (#7369)
add hooks for exposing accounts in settings
rename unused messages in non-English locales
Add external extension id to metadata (#7396)
update inpage provider, rpc-cap
add eth_requestAccounts handling to background
prevent notifying connections if extension is locked
update inpage provider
Fix lint errors
add migration
review fixes
transaction controller review updates
removed unused messages
* Login Per Site UI (#7368)
* LoginPerSite original UI changes to keep
* First commit
* Get necessary connected tab info for redirect and icon display for permissioned sites
* Fix up designs and add missing features
* Some lint fixes
* More lint fixes
* Ensures the tx controller + tx-state-manager orders transactions in the order they are received
* Code cleanup for LoginPerSite-ui
* Update e2e tests to use new connection flow
* Fix display of connect screen and app header after login when connect request present
* Update metamask-responsive-ui.spec for new item in accounts dropdown
* Fix approve container by replacing approvedOrigins with domainMetaData
* Adds test/e2e/permissions.spec.js
* Correctly handle cancellation of a permissions request
* Redirect to home after disconnecting all sites / cancelling all permissions
* Fix display of site icons in menu
* Fix height of permissions page container
* Remove unused locale messages
* Set default values for openExternalTabs and tabIdOrigins in account-menu.container
* More code cleanup for LoginPerSite-ui
* Use extensions api to close tab in permissions-connect
* Remove unnecessary change in domIsReady() in contentscript
* Remove unnecessary private function markers and class methods (for background tab info) in metamask-controller.
* Adds getOriginOfCurrentTab selector
* Adds IconWithFallback component and substitutes for appropriate cases
* Add and utilize font mixins
* Remove unused method in disconnect-all.container.js
* Simplify buttonSizeLarge code in page-container-footer.component.js
* Add and utilize getAccountsWithLabels selector
* Remove console.log in ui/app/store/actions.js
* Change last connected time format to yyyy-M-d
* Fix css associated with IconWithFallback change
* Ensure tracked openNonMetamaskTabsIDs are correctly set to inactive on tab changes
* Code cleanup for LoginPerSite-ui
* Use reusable function for modifying openNonMetamaskTabsIDs in background.js
* Enables automatic switching to connected account when connected domain is open
* Prevent exploit of tabIdOriginMap in background.js
* Remove unneeded code from contentscript.js
* Simplify current tab origin and window opener logic using remotePort listener tabs.queryTabs
* Design and styling fixes for LoginPerSite-ui
* Fix permissionHistory and permission logging for eth_requestAccounts and eth_accounts
* Front end changes to support display of lastConnected time in connected and permissions screens
* Fix lint errors
* Refactor structure of permissionsHistory
* Fix default values and object modifications for domain and permissionsHistory related data
* Fix connecting to new accounts from modal
* Replace retweet.svg with connect-white.svg
* Fix signature-request.spec
* Update metamask-inpage-provider version
* Fix permissions e2e tests
* Remove unneeded delay from test/e2e/signature-request.spec.js
* Add delay before attempting to retrieve network id in dapp in ethereum-on=.spec
* Use requestAccountTabIds strategy for determining tab id that opened a given window
* Improve default values for permissions requests
* Add some message descriptions to app/_locales/en/messages.json
* Code clean up in permission controller
* Stopped deep cloning object in mapObjectValues
* Bump metamask-inpage-provider version
* Add missing description in app/_locales/en/messages.json
* Return promises from queryTabs and switchToTab of extension.js
* Remove unused getAllPermissions function
* Use default props in icon-with-fallback.component.js
* Stop passing to permissions controller
* Delete no longer used clear-approved-origins modal code
* Remove duplicate imports in ui/app/components/app/index.scss
* Use URL instead of regex in getOriginFromUrl()
* Add runtime error checking to platform, promise based extension.tab methods
* Support permission requests from external extensions
* Improve font size and colour of the domain origin on the permission confirmation screen
* Add support for toggling permissions
* Ensure getRenderablePermissionsDomains only returns domains with exposedAccount caveat permissions
* Remove unused code from LoginPerSite-ui branch
* Ensure modal closes on Enter press for new-account-modal.component.js
* Lint fix
* fixup! Login Per Site UI (#7368)
* Some code cleanup for LoginPerSite
* Adds UX for connecting to dapps via the connected sites screen (#7593)
* Adds UX for connecting to dapps via the connected sites screen
* Use openMetaMaskTabIds from background.js to determine if current active tab is MetaMask
* Delete unused permissions controller methods
* Fixes two small bugs in the LoginPerSite ui (#7595)
* Restore `providerRequest` message translations (#7600)
This message was removed, but it was replaced with a very similar
message called `likeToConnect`. The only difference is that the new
message has "MetaMask" in it. Preserving these messages without
"MetaMask" is probably better than deleting them, so these messages
have all been restored and renamed to `likeToConnect`.
* Login per site no sitemetadata fix (#7610)
* Support connected sites for which we have no site metadata.
* Change property containing subtitle info often populated by origin to a more accurate of purpose name
* Lint fix
* Improve disconnection modal messages (#7612)
* Improve disconnectAccountModalDescription and disconnectAllModalDescription messages
* Update disconnectAccountModalDescription app/_locales/en/messages.json
Co-Authored-By: Mark Stacey <markjstacey@gmail.com>
* Improve disconnectAccount modal message clarity
* Adds cancel button to the account selection screen of the permissions request flow (#7613)
* Fix eth_accounts permission language & selectability (#7614)
* fix eth_accounts language & selectability
* fix MetaMask capitalization in all messages
* Close sidebar when opening connected sites (#7611)
The 'Connected Sites' button in the accounts details now closes the
sidebar, if it is open. This was accomplished by pulling the click
handler for that button up to the wallet view component, where another
button already followed a similar pattern of closing the sidebar.
It seemed confusing to me that one handler was in the `AccountsDetails`
container component, and one was handed down from above, so I added
PropTypes to the container component.
I'm not sure that the WalletView component is the best place for this
logic, but I've put it there for now to be consistent with the add
token button.
* Reject permissions request upon tab close (#7618)
Permissions requests are now rejected when the page is closed. This
only applies to the full-screen view, as that is the view permission
requests should be handled in. The case where the user deals with the
request through a different view is handled in #7617
* Handle tab update failure (#7619)
`extension.tabs.update` can sometimes fail if the user interacts with
the tabs directly around the same time. The redirect flow has been
updated to ensure that the permissions tab is still closed in that
case. The user is on their own to find the dapp tab again in that case.
* Login per site tab popup fixes (#7617)
* Handle redirect in response to state update in permissions-connect
* Ensure origin is available to permissions-connect subcomponents during redirect
* Hide app bar whenever on redirect route
* Improvements to handling of redirects in permissions-connect
* Ensure permission request id change handling only happens when page is not null
* Lint fix
* Decouple confirm transaction screen from the selected address (#7622)
* Avoid race condtion that could prevent contextual account switching (#7623)
There was a race condition in the logic responsible for switching the
selected account based upon the active tab. It was asynchronously
querying the active tab, then assuming it had been retrieved later.
The active tab info itself was already in the redux store in another
spot, one that is guaranteed to be set before the UI renders. The
race condition was avoided by deleting the duplicate state, and using
the other active tab state.
* Only redirect back to dapp if current tab is active (#7621)
The "redirect back to dapp" behaviour can be disruptive when the
permissions connect tab is not active. The purpose of the redirect was
to maintain context between the dapp and the permissions request, but
if the user has already moved to another tab, that no longer applies.
* Fix JSX style lint errors
* Remove unused state
5 years ago
|
|
|
|
|
|
|
await driver.waitUntilXWindowHandles(2);
|
|
|
|
await driver.switchToWindow(dapp);
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('initiates a send from the dapp', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Send', tag: 'button' }, 10000);
|
|
|
|
await driver.delay(2000);
|
|
|
|
|
|
|
|
windowHandles = await driver.getAllWindowHandles();
|
|
|
|
await driver.switchToWindowWithTitle(
|
|
|
|
'MetaMask Notification',
|
|
|
|
windowHandles,
|
|
|
|
);
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.assertElementNotPresent({ text: 'Data', tag: 'li' });
|
|
|
|
|
|
|
|
const [gasPriceInput, gasLimitInput] = await driver.findElements(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.advanced-gas-inputs__gas-edit-row__input',
|
|
|
|
);
|
|
|
|
|
|
|
|
await gasPriceInput.clear();
|
|
|
|
await driver.delay(50);
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await gasPriceInput.fill('10');
|
|
|
|
await driver.delay(50);
|
|
|
|
await driver.delay(tinyDelayMs);
|
|
|
|
await driver.delay(50);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await gasLimitInput.fill('');
|
|
|
|
await driver.delay(50);
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await gasLimitInput.fill('25000');
|
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.
5 years ago
|
|
|
|
|
|
|
await driver.delay(1000);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Confirm', tag: 'button' }, 10000);
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
|
|
|
await driver.waitUntilXWindowHandles(2);
|
|
|
|
await driver.switchToWindow(extension);
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('finds the transaction in the transactions list', async function () {
|
|
|
|
await driver.wait(async () => {
|
|
|
|
const confirmedTxes = await driver.findElements(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.transaction-list__completed-transactions .transaction-list-item',
|
|
|
|
);
|
|
|
|
return confirmedTxes.length === 4;
|
|
|
|
}, 10000);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.waitForSelector({
|
|
|
|
css: '.transaction-list-item__primary-currency',
|
|
|
|
text: '-3 ETH',
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
it('the transaction has the expected gas price', async function () {
|
|
|
|
const txValue = await driver.findClickableElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.transaction-list-item__primary-currency',
|
|
|
|
);
|
|
|
|
await txValue.click();
|
|
|
|
const popoverCloseButton = await driver.findClickableElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.popover-header__button',
|
|
|
|
);
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.waitForSelector({
|
|
|
|
css: '[data-testid="transaction-breakdown__gas-price"]',
|
|
|
|
text: '10',
|
|
|
|
});
|
|
|
|
await popoverCloseButton.click();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('Navigate transactions', function () {
|
|
|
|
it('adds multiple transactions', async function () {
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
|
|
|
await driver.waitUntilXWindowHandles(2);
|
|
|
|
const windowHandles = await driver.getAllWindowHandles();
|
|
|
|
const extension = windowHandles[0];
|
|
|
|
const dapp = windowHandles[1];
|
|
|
|
|
|
|
|
await driver.switchToWindow(dapp);
|
|
|
|
await driver.delay(largeDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
const send3eth = await driver.findClickableElement({
|
|
|
|
text: 'Send',
|
|
|
|
tag: 'button',
|
|
|
|
});
|
|
|
|
await send3eth.click();
|
|
|
|
await driver.delay(largeDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
const contractDeployment = await driver.findClickableElement({
|
|
|
|
text: 'Deploy Contract',
|
|
|
|
tag: 'button',
|
|
|
|
});
|
|
|
|
await contractDeployment.click();
|
|
|
|
await driver.delay(largeDelayMs);
|
|
|
|
|
|
|
|
await send3eth.click();
|
|
|
|
await driver.delay(largeDelayMs);
|
|
|
|
await contractDeployment.click();
|
|
|
|
await driver.delay(largeDelayMs);
|
|
|
|
|
|
|
|
await driver.switchToWindow(extension);
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('.transaction-list-item');
|
|
|
|
await driver.delay(largeDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('navigates the transactions', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('[data-testid="next-page"]');
|
|
|
|
let navigationElement = await driver.findElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.confirm-page-container-navigation',
|
|
|
|
);
|
|
|
|
let navigationText = await navigationElement.getText();
|
|
|
|
assert.equal(
|
|
|
|
navigationText.includes('2'),
|
|
|
|
true,
|
|
|
|
'changed transaction right',
|
|
|
|
);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('[data-testid="next-page"]');
|
|
|
|
navigationElement = await driver.findElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.confirm-page-container-navigation',
|
|
|
|
);
|
|
|
|
navigationText = await navigationElement.getText();
|
|
|
|
assert.equal(
|
|
|
|
navigationText.includes('3'),
|
|
|
|
true,
|
|
|
|
'changed transaction right',
|
|
|
|
);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('[data-testid="next-page"]');
|
|
|
|
navigationElement = await driver.findElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.confirm-page-container-navigation',
|
|
|
|
);
|
|
|
|
navigationText = await navigationElement.getText();
|
|
|
|
assert.equal(
|
|
|
|
navigationText.includes('4'),
|
|
|
|
true,
|
|
|
|
'changed transaction right',
|
|
|
|
);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('[data-testid="first-page"]');
|
|
|
|
navigationElement = await driver.findElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.confirm-page-container-navigation',
|
|
|
|
);
|
|
|
|
navigationText = await navigationElement.getText();
|
|
|
|
assert.equal(
|
|
|
|
navigationText.includes('1'),
|
|
|
|
true,
|
|
|
|
'navigate to first transaction',
|
|
|
|
);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('[data-testid="last-page"]');
|
|
|
|
navigationElement = await driver.findElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.confirm-page-container-navigation',
|
|
|
|
);
|
|
|
|
navigationText = await navigationElement.getText();
|
|
|
|
assert.equal(
|
|
|
|
navigationText.split('4').length,
|
|
|
|
3,
|
|
|
|
'navigate to last transaction',
|
|
|
|
);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('[data-testid="previous-page"]');
|
|
|
|
navigationElement = await driver.findElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.confirm-page-container-navigation',
|
|
|
|
);
|
|
|
|
navigationText = await navigationElement.getText();
|
|
|
|
assert.equal(
|
|
|
|
navigationText.includes('3'),
|
|
|
|
true,
|
|
|
|
'changed transaction left',
|
|
|
|
);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('[data-testid="previous-page"]');
|
|
|
|
navigationElement = await driver.findElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.confirm-page-container-navigation',
|
|
|
|
);
|
|
|
|
navigationText = await navigationElement.getText();
|
|
|
|
assert.equal(
|
|
|
|
navigationText.includes('2'),
|
|
|
|
true,
|
|
|
|
'changed transaction left',
|
|
|
|
);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('adds a transaction while confirm screen is in focus', async function () {
|
|
|
|
let navigationElement = await driver.findElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.confirm-page-container-navigation',
|
|
|
|
);
|
|
|
|
let navigationText = await navigationElement.getText();
|
|
|
|
assert.equal(
|
|
|
|
navigationText.includes('2'),
|
|
|
|
true,
|
|
|
|
'second transaction in focus',
|
|
|
|
);
|
|
|
|
|
|
|
|
const windowHandles = await driver.getAllWindowHandles();
|
|
|
|
const extension = windowHandles[0];
|
|
|
|
const dapp = windowHandles[1];
|
|
|
|
|
|
|
|
await driver.switchToWindow(dapp);
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Send', tag: 'button' });
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
|
|
|
await driver.switchToWindow(extension);
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
|
|
|
navigationElement = await driver.findElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.confirm-page-container-navigation',
|
|
|
|
);
|
|
|
|
navigationText = await navigationElement.getText();
|
|
|
|
assert.equal(
|
|
|
|
navigationText.includes('2'),
|
|
|
|
true,
|
|
|
|
'correct (same) transaction in focus',
|
|
|
|
);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('rejects a transaction', async function () {
|
|
|
|
await driver.delay(tinyDelayMs);
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Reject', tag: 'button' });
|
|
|
|
await driver.delay(largeDelayMs * 2);
|
|
|
|
|
|
|
|
const navigationElement = await driver.findElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.confirm-page-container-navigation',
|
|
|
|
);
|
|
|
|
await driver.delay(tinyDelayMs);
|
|
|
|
const navigationText = await navigationElement.getText();
|
|
|
|
assert.equal(navigationText.includes('4'), true, 'transaction rejected');
|
|
|
|
});
|
|
|
|
|
|
|
|
it('confirms a transaction', async function () {
|
|
|
|
await driver.delay(tinyDelayMs / 2);
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Confirm', tag: 'button' });
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
|
|
|
const navigationElement = await driver.findElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.confirm-page-container-navigation',
|
|
|
|
);
|
|
|
|
await driver.delay(tinyDelayMs / 2);
|
|
|
|
const navigationText = await navigationElement.getText();
|
|
|
|
await driver.delay(tinyDelayMs / 2);
|
|
|
|
assert.equal(navigationText.includes('3'), true, 'transaction confirmed');
|
|
|
|
});
|
|
|
|
|
|
|
|
it('rejects the rest of the transactions', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Reject 3', tag: 'a' });
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Reject All', tag: 'button' });
|
|
|
|
await driver.delay(largeDelayMs * 2);
|
|
|
|
|
|
|
|
await driver.wait(async () => {
|
|
|
|
const confirmedTxes = await driver.findElements(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.transaction-list__completed-transactions .transaction-list-item',
|
|
|
|
);
|
|
|
|
return confirmedTxes.length === 5;
|
|
|
|
}, 10000);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('Deploy contract and call contract methods', function () {
|
|
|
|
let extension;
|
|
|
|
let dapp;
|
|
|
|
it('creates a deploy contract transaction', async function () {
|
|
|
|
const windowHandles = await driver.getAllWindowHandles();
|
|
|
|
extension = windowHandles[0];
|
|
|
|
dapp = windowHandles[1];
|
|
|
|
await driver.delay(tinyDelayMs);
|
|
|
|
|
|
|
|
await driver.switchToWindow(dapp);
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('#deployButton');
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
|
|
|
await driver.switchToWindow(extension);
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Contract Deployment', tag: 'h2' });
|
|
|
|
await driver.delay(largeDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('displays the contract creation data', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Data', tag: 'button' });
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.findElement({ text: '127.0.0.1', tag: 'div' });
|
|
|
|
|
|
|
|
const confirmDataDiv = await driver.findElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.confirm-page-container-content__data-box',
|
|
|
|
);
|
|
|
|
const confirmDataText = await confirmDataDiv.getText();
|
|
|
|
assert.ok(confirmDataText.includes('Origin:'));
|
|
|
|
assert.ok(confirmDataText.includes('127.0.0.1'));
|
|
|
|
assert.ok(confirmDataText.includes('Bytes:'));
|
|
|
|
assert.ok(confirmDataText.includes('675'));
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Details', tag: 'button' });
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('confirms a deploy contract transaction', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Confirm', tag: 'button' });
|
|
|
|
await driver.delay(largeDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.waitForSelector(
|
|
|
|
'.transaction-list__completed-transactions .transaction-list-item:nth-of-type(6)',
|
|
|
|
);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.waitForSelector(
|
|
|
|
{
|
|
|
|
css: '.list-item__title',
|
|
|
|
text: 'Contract Deployment',
|
|
|
|
},
|
|
|
|
{ timeout: 10000 },
|
|
|
|
);
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('calls and confirms a contract method where ETH is sent', async function () {
|
|
|
|
await driver.switchToWindow(dapp);
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.waitForSelector(
|
|
|
|
{
|
|
|
|
css: '#contractStatus',
|
|
|
|
text: 'Deployed',
|
|
|
|
},
|
|
|
|
{ timeout: 15000 },
|
|
|
|
);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('#depositButton');
|
|
|
|
await driver.delay(largeDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.waitForSelector(
|
|
|
|
{
|
|
|
|
css: '#contractStatus',
|
|
|
|
text: 'Deposit initiated',
|
|
|
|
},
|
|
|
|
{ timeout: 10000 },
|
|
|
|
);
|
|
|
|
|
|
|
|
await driver.switchToWindow(extension);
|
|
|
|
await driver.delay(largeDelayMs * 2);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.findElements('.transaction-list-item--unconfirmed');
|
|
|
|
const txListValue = await driver.findClickableElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.transaction-list-item__primary-currency',
|
|
|
|
);
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.waitForSelector(
|
|
|
|
{
|
|
|
|
css: '.transaction-list-item__primary-currency',
|
|
|
|
text: '-4 ETH',
|
|
|
|
},
|
|
|
|
{ timeout: 10000 },
|
|
|
|
);
|
|
|
|
await txListValue.click();
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
|
|
|
// Set the gas limit
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('.confirm-detail-row__header-text--edit');
|
|
|
|
// wait for gas modal to be visible.
|
|
|
|
const gasModal = await driver.findVisibleElement('span .modal');
|
|
|
|
await driver.clickElement('.page-container__tab:nth-of-type(2)');
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
|
|
|
const [gasPriceInput, gasLimitInput] = await driver.findElements(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.advanced-gas-inputs__gas-edit-row__input',
|
|
|
|
);
|
|
|
|
const gasLimitValue = await gasLimitInput.getAttribute('value');
|
|
|
|
assert(Number(gasLimitValue) < 100000, 'Gas Limit too high');
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await gasPriceInput.fill('10');
|
|
|
|
await driver.delay(50);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await gasLimitInput.fill('60001');
|
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.
5 years ago
|
|
|
|
|
|
|
await driver.delay(1000);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Save', tag: 'button' });
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
// wait for gas modal to be detached from DOM
|
|
|
|
await gasModal.waitForElementState('hidden');
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Confirm', tag: 'button' });
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.waitForSelector(
|
|
|
|
'.transaction-list__completed-transactions .transaction-list-item:nth-of-type(7)',
|
|
|
|
{ timeout: 10000 },
|
|
|
|
);
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.waitForSelector(
|
|
|
|
{
|
|
|
|
css:
|
|
|
|
'.transaction-list__completed-transactions .transaction-list-item__primary-currency',
|
|
|
|
text: '-4 ETH',
|
|
|
|
},
|
|
|
|
{ timeout: 10000 },
|
|
|
|
);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('calls and confirms a contract method where ETH is received', async function () {
|
|
|
|
await driver.switchToWindow(dapp);
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('#withdrawButton');
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
|
|
|
await driver.switchToWindow(extension);
|
|
|
|
await driver.delay(largeDelayMs * 2);
|
|
|
|
|
|
|
|
await driver.clickElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.transaction-list__pending-transactions .transaction-list-item',
|
|
|
|
);
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Confirm', tag: 'button' });
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
|
|
|
await driver.wait(async () => {
|
|
|
|
const confirmedTxes = await driver.findElements(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.transaction-list__completed-transactions .transaction-list-item',
|
|
|
|
);
|
|
|
|
return confirmedTxes.length === 8;
|
|
|
|
}, 10000);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.waitForSelector(
|
|
|
|
{
|
|
|
|
css: '.transaction-list-item__primary-currency',
|
|
|
|
text: '-0 ETH',
|
|
|
|
},
|
|
|
|
{ timeout: 10000 },
|
|
|
|
);
|
|
|
|
|
|
|
|
await driver.closeAllWindowHandlesExcept([extension, dapp]);
|
|
|
|
await driver.switchToWindow(extension);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('renders the correct ETH balance', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
const balance = await driver.waitForSelector(
|
|
|
|
{
|
|
|
|
css: '[data-testid="eth-overview__primary-currency"]',
|
|
|
|
text: '87.',
|
|
|
|
},
|
|
|
|
{ timeout: 10000 },
|
|
|
|
);
|
|
|
|
const tokenAmount = await balance.getText();
|
|
|
|
assert.ok(/^87.*\s*ETH.*$/u.test(tokenAmount));
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('Add a custom token from a dapp', function () {
|
|
|
|
it('creates a new token', async function () {
|
|
|
|
let windowHandles = await driver.getAllWindowHandles();
|
|
|
|
const extension = windowHandles[0];
|
|
|
|
const dapp = windowHandles[1];
|
|
|
|
await driver.delay(regularDelayMs * 2);
|
|
|
|
|
|
|
|
await driver.switchToWindow(dapp);
|
|
|
|
await driver.delay(regularDelayMs * 2);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Create Token', tag: 'button' });
|
|
|
|
windowHandles = await driver.waitUntilXWindowHandles(3);
|
|
|
|
|
|
|
|
const popup = windowHandles[2];
|
|
|
|
await driver.switchToWindow(popup);
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('.confirm-detail-row__header-text--edit');
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Advanced', tag: 'button' });
|
|
|
|
await driver.delay(tinyDelayMs);
|
|
|
|
|
|
|
|
const [gasPriceInput, gasLimitInput] = await driver.findElements(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.advanced-gas-inputs__gas-edit-row__input',
|
|
|
|
);
|
|
|
|
assert(gasPriceInput.getAttribute('value'), 20);
|
|
|
|
assert(gasLimitInput.getAttribute('value'), 4700000);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Save', tag: 'button' });
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Confirm', tag: 'button' });
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
|
|
|
await driver.switchToWindow(dapp);
|
|
|
|
await driver.delay(tinyDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
const tokenContractAddress = await driver.waitForSelector({
|
|
|
|
css: '#tokenAddress',
|
|
|
|
text: '0x',
|
|
|
|
});
|
|
|
|
tokenAddress = await tokenContractAddress.getText();
|
|
|
|
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
await driver.closeAllWindowHandlesExcept([extension, dapp]);
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
await driver.switchToWindow(extension);
|
|
|
|
await driver.delay(largeDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('clicks on the Add Token button', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement(`[data-testid="home__asset-tab"]`);
|
|
|
|
await driver.clickElement({ text: 'Add Token', tag: 'button' });
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('picks the newly created Test token', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({
|
|
|
|
text: 'Custom Token',
|
|
|
|
tag: 'button',
|
|
|
|
});
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.fill('#custom-address', tokenAddress);
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Next', tag: 'button' });
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Add Tokens', tag: 'button' });
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('renders the balance for the new token', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.waitForSelector({
|
|
|
|
css: '.wallet-overview .token-overview__primary-balance',
|
|
|
|
text: '10 TST',
|
|
|
|
});
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('Send token from inside MetaMask', function () {
|
|
|
|
it('starts to send a transaction', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('[data-testid="eth-overview-send"]');
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.fill(
|
|
|
|
'input[placeholder="Search, public address (0x), or ENS"]',
|
|
|
|
'0x2f318C334780961FB129D2a6c30D0763d9a5C970',
|
|
|
|
);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
driver.fill('.unit-input__input', '1');
|
|
|
|
});
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
it('opens customize gas modal and saves options to continue', async function () {
|
|
|
|
await driver.clickElement('.advanced-gas-options-btn');
|
|
|
|
|
|
|
|
// wait for gas modal to be visible
|
|
|
|
const gasModal = await driver.findVisibleElement('span .modal');
|
|
|
|
await driver.findElement('.page-container__title');
|
|
|
|
await driver.clickElement({ text: 'Save', tag: 'button' });
|
|
|
|
// wait for gas modal to be removed from DOM.
|
|
|
|
await gasModal.waitForElementState('hidden');
|
|
|
|
});
|
|
|
|
|
|
|
|
it('transitions to the confirm screen', async function () {
|
|
|
|
// Continue to next screen
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Next', tag: 'button' });
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('displays the token transfer data', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Data', tag: 'button' });
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
|
|
|
const functionType = await driver.findElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.confirm-page-container-content__function-type',
|
|
|
|
);
|
|
|
|
const functionTypeText = await functionType.getText();
|
|
|
|
assert.equal(functionTypeText, 'Transfer');
|
|
|
|
|
|
|
|
const tokenAmount = await driver.findElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.confirm-page-container-summary__title-text',
|
|
|
|
);
|
|
|
|
const tokenAmountText = await tokenAmount.getText();
|
|
|
|
assert.equal(tokenAmountText, '1 TST');
|
|
|
|
|
|
|
|
const confirmDataDiv = await driver.findElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.confirm-page-container-content__data-box',
|
|
|
|
);
|
|
|
|
const confirmDataText = await confirmDataDiv.getText();
|
|
|
|
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
assert(
|
|
|
|
confirmDataText.match(
|
|
|
|
/0xa9059cbb0000000000000000000000002f318c334780961fb129d2a6c30d0763d9a5c97/u,
|
|
|
|
),
|
|
|
|
);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Details', tag: 'button' });
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('submits the transaction', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Confirm', tag: 'button' });
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('finds the transaction in the transactions list', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.waitForSelector(
|
|
|
|
{
|
|
|
|
css:
|
|
|
|
'.transaction-list__completed-transactions .transaction-list-item__primary-currency',
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
text: '-1 TST',
|
|
|
|
},
|
|
|
|
{ timeout: 10000 },
|
|
|
|
);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.waitForSelector({
|
|
|
|
css: '.list-item__heading',
|
|
|
|
text: 'Send TST',
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('Send a custom token from dapp', function () {
|
|
|
|
it('sends an already created token', async function () {
|
|
|
|
const windowHandles = await driver.getAllWindowHandles();
|
|
|
|
const extension = windowHandles[0];
|
|
|
|
const dapp = await driver.switchToWindowWithTitle(
|
|
|
|
'E2E Test Dapp',
|
|
|
|
windowHandles,
|
|
|
|
);
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
|
|
|
await driver.switchToWindow(dapp);
|
|
|
|
await driver.delay(tinyDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Transfer Tokens', tag: 'button' });
|
|
|
|
|
|
|
|
await driver.switchToWindow(extension);
|
|
|
|
await driver.delay(largeDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.findElements('.transaction-list__pending-transactions');
|
|
|
|
await driver.waitForSelector(
|
|
|
|
{
|
|
|
|
css: '.transaction-list-item__primary-currency',
|
|
|
|
text: '-1.5 TST',
|
|
|
|
},
|
|
|
|
{ timeout: 10000 },
|
|
|
|
);
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('.transaction-list-item__primary-currency');
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
|
|
|
const transactionAmounts = await driver.findElements(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.currency-display-component__text',
|
|
|
|
);
|
|
|
|
const transactionAmount = transactionAmounts[0];
|
|
|
|
assert(await transactionAmount.getText(), '1.5 TST');
|
|
|
|
});
|
|
|
|
|
|
|
|
it('customizes gas', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
// Set the gas limit
|
|
|
|
await driver.clickElement('.confirm-detail-row__header-text--edit');
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
// wait for gas modal to be visible
|
|
|
|
const gasModal = await driver.findVisibleElement('span .modal');
|
|
|
|
await driver.clickElement('.page-container__tab:nth-of-type(2)');
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
|
|
|
const [gasPriceInput, gasLimitInput] = await driver.findElements(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.advanced-gas-inputs__gas-edit-row__input',
|
|
|
|
);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await gasPriceInput.fill('10');
|
|
|
|
await driver.delay(50);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await gasLimitInput.fill('60000');
|
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.
5 years ago
|
|
|
|
|
|
|
await driver.delay(1000);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('.page-container__footer-button');
|
|
|
|
|
|
|
|
// wait for gas modal to be removed from DOM.
|
|
|
|
await gasModal.waitForElementState('hidden');
|
|
|
|
|
|
|
|
const gasFeeInputs = await driver.findElements(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.confirm-detail-row__primary',
|
|
|
|
);
|
|
|
|
const renderedGasFee = await gasFeeInputs[0].getText();
|
|
|
|
assert.equal(renderedGasFee, '0.0006');
|
|
|
|
});
|
|
|
|
|
|
|
|
it('submits the transaction', async function () {
|
|
|
|
const tokenAmount = await driver.findElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.confirm-page-container-summary__title-text',
|
|
|
|
);
|
|
|
|
const tokenAmountText = await tokenAmount.getText();
|
|
|
|
assert.equal(tokenAmountText, '1.5 TST');
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Confirm', tag: 'button' });
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('finds the transaction in the transactions list', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.waitForSelector({
|
|
|
|
css:
|
|
|
|
'.transaction-list__completed-transactions .transaction-list-item__primary-currency',
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
text: '-1.5 TST',
|
|
|
|
});
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.waitForSelector({
|
|
|
|
css: '.list-item__heading',
|
|
|
|
text: 'Send TST',
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
it('checks balance', async function () {
|
|
|
|
await driver.clickElement({
|
|
|
|
text: 'Assets',
|
|
|
|
tag: 'button',
|
|
|
|
});
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
|
|
|
|
await driver.waitForSelector({
|
|
|
|
css: '.asset-list-item__token-button',
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
text: '7.5 TST',
|
|
|
|
});
|
|
|
|
|
|
|
|
await driver.clickElement({
|
|
|
|
text: 'Activity',
|
|
|
|
tag: 'button',
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('Approves a custom token from dapp', function () {
|
|
|
|
it('approves an already created token', async function () {
|
|
|
|
const windowHandles = await driver.getAllWindowHandles();
|
|
|
|
const extension = windowHandles[0];
|
|
|
|
const dapp = await driver.switchToWindowWithTitle(
|
|
|
|
'E2E Test Dapp',
|
|
|
|
windowHandles,
|
|
|
|
);
|
|
|
|
await driver.closeAllWindowHandlesExcept([extension, dapp]);
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
|
|
|
await driver.switchToWindow(dapp);
|
|
|
|
await driver.delay(tinyDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Approve Tokens', tag: 'button' });
|
|
|
|
|
|
|
|
await driver.switchToWindow(extension);
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
|
|
|
await driver.wait(async () => {
|
|
|
|
const pendingTxes = await driver.findElements(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.transaction-list__pending-transactions .transaction-list-item',
|
|
|
|
);
|
|
|
|
return pendingTxes.length === 1;
|
|
|
|
}, 10000);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.waitForSelector({
|
|
|
|
// Selects only the very first transaction list item immediately following the 'Pending' header
|
|
|
|
css:
|
|
|
|
'.transaction-list__pending-transactions .transaction-list__header + .transaction-list-item .list-item__heading',
|
|
|
|
text: 'Approve TST spend limit',
|
|
|
|
});
|
|
|
|
|
|
|
|
await driver.clickElement('.transaction-list-item');
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('displays the token approval data', async function () {
|
|
|
|
await driver.clickElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.confirm-approve-content__view-full-tx-button',
|
|
|
|
);
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
|
|
|
const functionType = await driver.findElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.confirm-approve-content__data .confirm-approve-content__small-text',
|
|
|
|
);
|
|
|
|
const functionTypeText = await functionType.getText();
|
|
|
|
assert.equal(functionTypeText, 'Function: Approve');
|
|
|
|
|
|
|
|
const confirmDataDiv = await driver.findElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.confirm-approve-content__data__data-block',
|
|
|
|
);
|
|
|
|
const confirmDataText = await confirmDataDiv.getText();
|
|
|
|
assert(
|
|
|
|
confirmDataText.match(
|
|
|
|
/0x095ea7b30000000000000000000000009bc5baf874d2da8d216ae9f137804184ee5afef4/u,
|
|
|
|
),
|
|
|
|
);
|
|
|
|
});
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
it('customizes gas', async function () {
|
|
|
|
await driver.clickElement('.confirm-approve-content__small-blue-text');
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
// wait for gas modal to be visible
|
|
|
|
const gasModal = await driver.findVisibleElement('span .modal');
|
|
|
|
await driver.clickElement('.page-container__tab:nth-of-type(2)');
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
|
|
|
const [gasPriceInput, gasLimitInput] = await driver.findElements(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.advanced-gas-inputs__gas-edit-row__input',
|
|
|
|
);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await gasPriceInput.fill('10');
|
|
|
|
await driver.delay(50);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await gasLimitInput.fill('60001');
|
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.
5 years ago
|
|
|
|
|
|
|
await driver.delay(1000);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('.page-container__footer-button');
|
|
|
|
|
|
|
|
// wait for gas modal to be removed from DOM.
|
|
|
|
await gasModal.waitForElementState('hidden');
|
|
|
|
|
|
|
|
const gasFeeInEth = await driver.findElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.confirm-approve-content__transaction-details-content__secondary-fee',
|
|
|
|
);
|
|
|
|
assert.equal(await gasFeeInEth.getText(), '0.0006 ETH');
|
|
|
|
});
|
|
|
|
|
|
|
|
it('edits the permission', async function () {
|
|
|
|
const editButtons = await driver.findClickableElements(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.confirm-approve-content__small-blue-text',
|
|
|
|
);
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await editButtons[2].click();
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
// wait for permission modal to be visible
|
|
|
|
const permissionModal = await driver.findVisibleElement('span .modal');
|
|
|
|
const radioButtons = await driver.findClickableElements(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.edit-approval-permission__edit-section__radio-button',
|
|
|
|
);
|
|
|
|
await radioButtons[1].click();
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.fill('input', '5');
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Save', tag: 'button' });
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
// wait for permission modal to be removed from DOM.
|
|
|
|
await permissionModal.waitForElementState('hidden');
|
|
|
|
|
|
|
|
const permissionInfo = await driver.findElements(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.confirm-approve-content__medium-text',
|
|
|
|
);
|
|
|
|
const amountDiv = permissionInfo[0];
|
|
|
|
assert.equal(await amountDiv.getText(), '5 TST');
|
|
|
|
});
|
|
|
|
|
|
|
|
it('submits the transaction', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Confirm', tag: 'button' });
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('finds the transaction in the transactions list', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.waitForSelector({
|
|
|
|
// Select only the heading of the first entry in the transaction list.
|
|
|
|
css:
|
|
|
|
'.transaction-list__completed-transactions .transaction-list-item:first-child .list-item__heading',
|
|
|
|
text: 'Approve TST spend limit',
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('Transfers a custom token from dapp when no gas value is specified', function () {
|
|
|
|
it('transfers an already created token, without specifying gas', async function () {
|
|
|
|
const windowHandles = await driver.getAllWindowHandles();
|
|
|
|
const extension = windowHandles[0];
|
|
|
|
const dapp = await driver.switchToWindowWithTitle(
|
|
|
|
'E2E Test Dapp',
|
|
|
|
windowHandles,
|
|
|
|
);
|
|
|
|
await driver.closeAllWindowHandlesExcept([extension, dapp]);
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
|
|
|
await driver.switchToWindow(dapp);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({
|
|
|
|
text: 'Transfer Tokens Without Gas',
|
|
|
|
tag: 'button',
|
|
|
|
});
|
|
|
|
|
|
|
|
await driver.switchToWindow(extension);
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
|
|
|
await driver.wait(async () => {
|
|
|
|
const pendingTxes = await driver.findElements(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.transaction-list__pending-transactions .transaction-list-item',
|
|
|
|
);
|
|
|
|
return pendingTxes.length === 1;
|
|
|
|
}, 10000);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.waitForSelector({
|
|
|
|
css: '.transaction-list-item__primary-currency',
|
|
|
|
text: '-1.5 TST',
|
|
|
|
});
|
|
|
|
await driver.clickElement('.transaction-list-item');
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('submits the transaction', async function () {
|
|
|
|
await driver.delay(largeDelayMs * 2);
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Confirm', tag: 'button' });
|
|
|
|
await driver.delay(largeDelayMs * 2);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('finds the transaction in the transactions list', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.waitForSelector({
|
|
|
|
// Select the heading of the first transaction list item in the
|
|
|
|
// completed transaction list with text matching Send TST
|
|
|
|
css:
|
|
|
|
'.transaction-list__completed-transactions .transaction-list-item:first-child .list-item__heading',
|
|
|
|
text: 'Send TST',
|
|
|
|
});
|
|
|
|
|
|
|
|
await driver.waitForSelector({
|
|
|
|
css:
|
|
|
|
'.transaction-list__completed-transactions .transaction-list-item:first-child .transaction-list-item__primary-currency',
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
text: '-1.5 TST',
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('Approves a custom token from dapp when no gas value is specified', function () {
|
|
|
|
it('approves an already created token', async function () {
|
|
|
|
const windowHandles = await driver.getAllWindowHandles();
|
|
|
|
const extension = windowHandles[0];
|
|
|
|
const dapp = await driver.switchToWindowWithTitle(
|
|
|
|
'E2E Test Dapp',
|
|
|
|
windowHandles,
|
|
|
|
);
|
|
|
|
await driver.closeAllWindowHandlesExcept([extension, dapp]);
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
|
|
|
await driver.switchToWindow(dapp);
|
|
|
|
await driver.delay(tinyDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({
|
|
|
|
text: 'Approve Tokens Without Gas',
|
|
|
|
tag: 'button',
|
|
|
|
});
|
|
|
|
|
|
|
|
await driver.switchToWindow(extension);
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
|
|
|
await driver.wait(async () => {
|
|
|
|
const pendingTxes = await driver.findElements(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.transaction-list__pending-transactions .transaction-list-item',
|
|
|
|
);
|
|
|
|
return pendingTxes.length === 1;
|
|
|
|
}, 10000);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.waitForSelector({
|
|
|
|
// Selects only the very first transaction list item immediately following the 'Pending' header
|
|
|
|
css:
|
|
|
|
'.transaction-list__pending-transactions .transaction-list__header + .transaction-list-item .list-item__heading',
|
|
|
|
text: 'Approve TST spend limit',
|
|
|
|
});
|
|
|
|
|
|
|
|
await driver.clickElement('.transaction-list-item');
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('shows the correct recipient', async function () {
|
|
|
|
await driver.clickElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.confirm-approve-content__view-full-tx-button',
|
|
|
|
);
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
|
|
|
const permissionInfo = await driver.findElements(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'.confirm-approve-content__medium-text',
|
|
|
|
);
|
|
|
|
const recipientDiv = permissionInfo[1];
|
|
|
|
assert.equal(await recipientDiv.getText(), '0x2f318C33...C970');
|
|
|
|
});
|
|
|
|
|
|
|
|
it('submits the transaction', async function () {
|
|
|
|
await driver.delay(1000);
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Confirm', tag: 'button' });
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('finds the transaction in the transactions list', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.waitForSelector({
|
|
|
|
css:
|
|
|
|
'.transaction-list__completed-transactions .transaction-list-item:first-child .list-item__heading',
|
|
|
|
text: 'Approve TST spend limit',
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('Hide token', function () {
|
|
|
|
it('hides the token when clicked', async function () {
|
|
|
|
await driver.clickElement({ text: 'Assets', tag: 'button' });
|
|
|
|
|
|
|
|
await driver.clickElement({ text: 'TST', tag: 'span' });
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('[data-testid="asset-options__button"]');
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement('[data-testid="asset-options__hide"]');
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
// wait for confirm hide modal to be visible
|
|
|
|
const confirmHideModal = await driver.findVisibleElement('span .modal');
|
|
|
|
|
|
|
|
await driver.clickElement(
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
'[data-testid="hide-token-confirmation__hide"]',
|
|
|
|
);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
// wait for confirm hide modal to be removed from DOM.
|
|
|
|
await confirmHideModal.waitForElementState('hidden');
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('Add existing token using search', function () {
|
|
|
|
it('clicks on the Add Token button', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Add Token', tag: 'button' });
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('can pick a token from the existing options', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.fill('#search-tokens', 'BAT');
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'BAT', tag: 'span' });
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Next', tag: 'button' });
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.clickElement({ text: 'Add Tokens', tag: 'button' });
|
|
|
|
await driver.delay(largeDelayMs);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('renders the balance for the chosen token', async function () {
|
Version v9.5.0 RC (#10944)
* add trezor HD path for ledger wallets (#10616)
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
* Replace logic for eth swap token in fetchQuotesAndSetQuoteState with getSwapsEthToken call (#10624)
* Ensure permission log will only store JSON-able data (#10524)
* remove transactionCategory in favor of more types (#10615)
* remove transactionCategory in favor of more types
* remove reference to STANDARD in stubs
* Removing double click bug from delete custom network modal (#10628)
Fixes MetaMask/metamask-extension#10626
* Hide zero balance tokens at useTokenTracker layer (#10630)
* Setting balance to 0x0 when the original value is undefined (#10634)
* fix: speedup cancellation (#10579)
fixes #7305
* no more node:console (#10640)
* prefer chainId over networkId in most cases (#10594)
* Move swaps constants to the shared constants directory (#10614)
* Position the 3dot menu in the same spot on asset screen and home screen (#10642)
* Ensure swaps detail height doesn't create jump in vertical height (#10644)
* Fix: ETH 'token' now only appears once in the swaps to and from dropdowns. (#10650)
* Prevent network menu highlighting (#10643)
* Allow TextField to receive min and max attributes (#10656)
* colocate tests in flat structure (#10655)
* Fixing migration script generation paths (#10664)
* Improve specificity of `test:unit:lax` npm script (#10661)
The unit test npm script `test:unit:lax` is now more specific about
which tests files to exclude. An `--ignore` CLI option is used to
specify the files to ignore, rather than using the braces glob syntax
to ignore them from the target glob itself.
This makes the option easier to update going forward as we move more
tests into the "strict" group, because the options are exactly the same
between the two scripts. It also ensures we don't accidentally exclude
other subdirectories that happen to also be named `permissions`.
In trying to implement this, I stumbled at first because mocha expects
the ignore pattern to be a relative path if the target is a relative
path (i.e. they need to both start with `./` or neither). The script
`test:unit:strict` has been updated to use a relative target pattern
for consistency.
* Swaps support for local testnet (#10658)
* Swaps support for local testnet
* Create util method for comparison of token addresses/symbols to default swaps token
* Get chainId from txMeta in _trackSwapsMetrics of transaction controller
* Add comment to document purpose of getTransactionGroupRecipientAddressFilter
* Use isSwapsDefaultTokenSymbol in place of repeated defaultTokenSymbol comparisons in build-quote.js
* fix: replace dnode background with JSON-RPC (#10627)
fixes #10090
* Don't render faucet row in deposit modal for custom chains (#10674)
Fixes MetaMask/metamask-extension#10038
* Change 'Send ETH' title to 'Send' (#10651)
* Fixing incorrectly typed token decimal attribute (#10666)
* refactor incoming tx controller (#10639)
* make migration more safe (#10689)
* Adding default properties to NetworkForm (#10682)
Fixes MetaMask/metamask-extension#10681
* deps - remove "remotedev-server" (#10687)
* deps - remove remotedev-server
* Remove stale references from allow-scripts config
Any packages that are no longer in the dependency tree have been
removed from the `allow-scripts` config.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds
Fixes MetaMask/metamask-extension#7077
* Fix source map explorer script
The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.
Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Delete setupFetchDebugging.js (#10636)
* Delete setupFetchDebugging.js
* remove fetch-debugging (now handled corrently by sentry)
* resolve issue with missing template error (#10692)
* resolve issue with missing template error
* also apply filtering to confirmation page
* rename variable
* Add MetaMask to list of BIP44 HD path examples (#10703)
The "BIP44 Standard" HD path option in the Ledger connect flow listed
only Trezor as an example. It seemed appropriate to include MetaMask as
well, since we use the same path. This helps users who have imported
their MetaMask seed phrase onto a Ledger device to discover this
option.
* Removing hard references to 12 word seed phrases in copy (#10704)
Adding translation entry for "Wallet Seed"
Fixed label padding issue by adding missing CSS rule
* rule out empty string for symbol (#10712)
* fix: remove unused `metamask.rpcUrl` from redux state + fix tests to reflect that (#10714)
* Fix 10706 - Prevent autocomplete from add token input (#10700)
* Fix mismatchedChain typo in custom network approval screen (#10723)
* Fix 10562 - Hide the suggested token pane when not on Mainnet or test network (#10702)
* Update @metamask/controllers to v6.2.1 (#10701)
* Additional swaps network support (#10721)
* Add swaps support for bnc chain
* Use single default token address in shared/constants/swaps
* ci - cache deps before patch-package (#10735)
* ci - cache deps before patch-package
* ci - bump dep cache number (cache break)
* build - refactor build system for easier configuration (#10718)
* build - refactor build system for easier configuration of before and after bundle
* build - fix dependenciesToBundle option
* build - fix bify external options and other config
* build - refactor for cleanliness
* build - fix minify argument
* build - fix sourcemaps setup
* scripts - refactor setupBundlerDefaults in anticipation of factor bundles
* build - scripts - remove unused pipeline label
* build - scripts - make filepath entry optional
* build - scripts - rename filepath and filename options to entryFilepath and destFilepath
* Update development/build/scripts.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* security - update SES lockdown (#10663)
* update ses
* build - reference ses directly
* deps - unify regenerator-runtime versions on 0.13.7
* patches - apply regenerator-runtime ses compat patch\nhttps://github.com/facebook/regenerator/pull/411
* patches - patch regenerator-runtime for latest ses fix
* reduc patch, new lockdown severe override taming
* updated redux patch
* update redux patch for production
* ignore lockdown in lint
* deps - bump patch-package just in case
* trailing comma
* remove ses as dep
* fix path for frozen promise
* remove js extension in lockdown require
* Revert "ignore lockdown in lint"
This reverts commit 8cefdc94dd25d7781bb09eed8af36441397676da.
* Revert "build - reference ses directly"
This reverts commit 30371a377dcdd781c1bf9abe55e9c8ae34da26b5.
* deps - update ses
* Revert "fix path for frozen promise"
This reverts commit 966e4c60921a25befe8ca8dea58313cc25852f72.
Co-authored-by: kumavis <aaron@kumavis.me>
* Allow 11 characters in symbol for RPC (#10670)
* Add error in RPC for zero length symbols
* Increase RPC symbol length allowed to 11
* Add RPC tests for new symbol length checks
* eth-block-tracker@5.0.1 (#10737)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint (#10744)
* Ensure swaps gas prices are fetched from the correct chain specific endpoint
* Just rely on fetchWithCache to cache swaps gas prices, instead of directly using storage in getSwapsPriceEstimatesLastRetrieved
* Empty commit
* update @metamask/etherscan-link to v2.0.0 (#10747)
* Use correct block explorer name and link in swaps when on custom network (#10743)
* Use correct block explorer name and link in swaps when on custom network.
* Fix up custom etherscan link code in build-quote.js
* Use blockExplorerUrl hostname instead of 'blockExplorerBaseUrl'
* Use correct etherscan-link method for token links in build-quote
* Create correct token link in build-quote for mainnet AND custom networks
* Block explorer url improvements in awaiting-swap.js and build-quote.js
* Use swapVerifyTokenExplanation message with substitutable block explorer for all applicable locales
* Ensure that block explorer links are not shown in awaiting-swap if no url is available
* Add New Zealand Dollar to currency options (#10746)
* Ensure that the correct default currency symbols are used for fees on the view quote screen (#10753)
* Fix 10517 - Prevent tokens without addresses from being added to token list (#10593)
* Updating y18n and netmask to resolve dependency issues (#10765)
netmask@1.0.6 -> 2.0.1, y18n@3.2.1 -> 3.2.2, y18n@4.0.0 -> 4.0.1
* Refactor Tx State Manager (#10672)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Ensure that the approval fee in the swaps custom gas modal is in network specific currency (#10763)
* Ensure that priceSlippage fiat amounts are always shown in view-quote.js (#10762)
* Use network specific swaps contract address when checking swap contract token approval (#10774)
* Build - refactor background process to use html (#10769)
* build - declare background as html
* build - fill in empty file when a missing file is expected
* lint - fix
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update development/build/manifest.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* build - fix use of empty file to replace unused js files (#10780)
* cache lint results for faster repeat execution (#10773)
* eslint perf improvement (#10775)
* Improve detection of task process exit (#10776)
Our build script waits for the `close` event to determine whether the
task has exited. The `exit` event is a better representation of this,
because if a stream is shared between multiple processes, the process
may exit without the `close` event being emitted.
We aren't sharing streams between processes, so this edge case doesn't
apply to us. This just seemed like a more suitable event to listen to,
since we care about the process exiting not the stream ending.
See this description of the `close` event from the Node.js
documentation [1]:
>The `'close'` event is emitted when the stdio streams of a child
>process have been closed. This is distinct from the `'exit'` event,
>since multiple processes might share the same stdio streams.
And see this description of the `exit` event:
>The `'exit'` event is emitted after the child process ends.
[1]: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_event_exit
* Rewrite changelog script from Bash to JavaScript (#10782)
The `auto-changelog` script has been rewritten from Bash to JavaScript.
Functionally it should behave identically.
* Refactoring ethereum-on.spec.js to use fixtures (#10778)
* Remove useless negation (#10787)
!contentComponent always evaluates to true
* Remove date from changelog release header (#10790)
New changelog release headers now omit the date. These headers are
added automatically when a new release branch is created, and that
rarely ends up being the actual date of the release, so these dates
have all been inaccurate anyway.
The date will be re-added to the changelog later as part of a new
script, after a release has been published.
* Remove script for creating master sync PR (#10791)
The script responsible for creating the "Sync `master` with `develop`"
PR has been removed. We will soon be eliminating the need for a
`master` branch altogether, so we don't need this anymore. Also, this
script hasn't been running correctly in a long time. We've been
creating this PR manually.
* Add changelog entries under release candidate header (#10784)
Instead of always placing new changelog entries under the "Current
Develop Branch" header, the changelog script now places them under the
header for the current release if that release has not yet been tagged.
This eliminates one manual step from the release process.
Relates to #10752
* Prevent duplicate changelog entries (#10786)
The changelog update script now prevents duplicate entries from being
added. Specifically, it will ensure that if a PR has been referenced
already in an entry, it will not add it again.
This should prevent it from adding duplicate entries for changes that
were cherry-picked into hotfix releases.
Note that this duplication prevention only works for entries containing
a PR number. We don't have any way to prevent duplicate entries yet in
cases where we don't know the associated PR. We will be preventing this
possibility entirely pretty soon in some upcoming release automation
changes though, so I'm not concerned about this omission.
* Set the BSC_CONTRACT_ADDRESS to lowercase (#10800)
* only applies rules to the appropriate files (#10788)
* upgrade eslint deps (#10789)
* Ensure correct primary currency image is displayed on home screen and token list (#10777)
* Add release header when updating changelog (#10794)
The changelog update script now adds a release header if it doesn't
find one already that matches the current release candidate version.
* remove node-sass dependency (#10797)
* Add support for locators into driver abstraction (#10802)
* Update changelog headers and fix dates (#10805)
The changelog release header format has been updated to match the "keep
a changelog" [1] format. Each header is now the bracketed version
number followed by a dash, then the release date in ISO-8601 format.
The release dates in each header were also updated to match the date of
the corresponding GitHub Release [2]. Many of these dates were
incorrect because they were set on the day we created the release
candidate, rather than on the day of release.
Any changelog release entries without a corresponding GitHub release
was left with the date already specified.
The three oldest release headers were missing dates. For the first two,
I used the date of the version bump commit. For the third, I removed it
since no changes were listed anyway, and it represented a range of
releases rather than a single one.
The `auto-changelog.js` script has been updated to account for this new
format as well.
[1]: https://keepachangelog.com/en/1.0.0/
[2]: https://github.com/MetaMask/metamask-extension/releases
* Update the changelog when creating an RC (#10795)
The changelog will now be automatically updated when a release branch
is created. A new release header along with changelog entries for any
new commits will be added.
Note that this changelog will still need to be manually cleaned up, but
it's one less manual step at least.
The old Bash script for adding a new release header to the changelog
has been removed, as that functionality is now built into the changelog
update script.
A new script has been added to commit any changes made to the manifest
and changelog. This step used to happen at the end of the bump manifest
version script, but now the changelog update relies upon the manifest
version bump happening first, so it needed to be re-ordered. The
changes should only be committed on the first run of the branch, as
it's contingent upon the manifest changing (due to the version bump).
Further changelog updates won't trigger new automatic commits.
* Refactoring address-book.spec.js to use fixtures (#10804)
* Refactoring send-edit.spec.js to use fixtures (#10792)
* Fix _getPermittedAccounts type safety (#10819)
* Removing unnecessary params from withFixtures function call. (#10831)
* Add links to release headers (#10808)
Each release header now includes a link to the range of commits
included with that release. These links are at the end of the document,
in accordance with the "keep a changelog" [1] format.
For the purpose of this changelog, the "previous release" is the most
recent release mentioned in the changelogs. The diffs ignore any
releases that were omitted from the changelog. This is mainly an issue
with older releases, so it seemed acceptable. All releases have been
documented for a couple of years now, and will be going forward as
well.
The name of the "Current Develop Branch" section was changed to
"Unreleased" to confirm with "keep a changelog".
The `auto-changelog.js` script has been updated to update/add these
links whenever adding a new release header as well.
[1]: https://keepachangelog.com/en/1.0.0/
* Refactoring permissions.spec.js to use fixtures (#10829)
* Add validation for the `fee` property from the `/trades` API response (#10836)
* Refactoring signature-request.spec.js to use fixtures (#10820)
* use locator abstraction in tests folder (#10833)
* Move BSC chain ID, rename some BSC-related vars (#10807)
* Add categories to each changelog release (#10837)
Each changelog release now has category headers. The standard "keep a
changelog" [1] categories are used, along with the addition of
"Uncategorized" for any changes that have not yet been categorized.
The changelog script has been updated to add this "Uncategorized"
header if it isn't already present, and to place any new commits under
this header.
The changelog has been updated to property categorize each change in
recent releases, and to place changes in older releases under the
header "Uncategorized".
[1]: https://keepachangelog.com/en/1.0.0/
* Remove unused CI script (#10840)
This script has not been used since #10795. It is now gone.
* Add `--rc` flag to changelog script (#10839)
The changelog script now accepts an `--rc` flag to tell it whether to
add new changes to `Unreleased` or to the header for the current
version.
Previously this was inferred from whether the current version matched
the most recent tag. However this method only works for the first
update. Using a flag simplifies this logic, and makes it possible to
manually re-run this for further updates to a release candidate.
* Add `--help` flag to changelog script (#10846)
The changelog script now accepts a `--help` flag, which prints a help
text explaining how the script works and what each flag does.
* add abstraction for waitForSelector (#10844)
* Adds jest dependency (#10845)
* Add Jest
* Refactor changelog parsing and generation (#10847)
The `auto-changelog.js` script has been refactoring into various
different modules. This was done in preparation for migrating this to
a separate repository, where it can be used in our libraries as well.
Functionally this should act _mostly_ the same way, but there have been
some changes. It was difficult to make this a pure refactor because of
the strategy used to validate the changelog and ensure each addition
remained valid. Instead of being updated in-place, the changelog is now
parsed upfront and stored as a "Changelog" instance, which is a new
class that was written to allow only valid changes. The new changelog
is then stringified and completely overwrites the old one.
The parsing had to be much more strict, as any unanticipated content
would otherwise be erased unintentionally. This script now also
normalizes the formatting of the changelog (though the individual
change descriptions are still unformatted).
The changelog stringification now accommodates non-linear releases as
well. For example, you can now release v1.0.1 *after* v2.0.0, and it
will be listed in chronological order while also correctly constructing
the `compare` URLs for each release.
* Increase default slippage from 2% to 3%, show Advanced Options by default (#10842)
* Increase default slippage from 2% to 3%, show Advanced Options by default
* Disable opening / closing of Advanced Options on the Swap page
* Pre-select previously used slippage value when going back to the Swap page
* Fix lint issues
* Use a callback for setting up an initial customValue
* Migrate unreleased changes in changelog (#10853)
When updating the changelog for a release candidate, any unreleased
changes are now migrated to the release header.
Generally we don't make a habit of adding changes to the changelog
prior to creating a release candidate, but if any are there we
certainly don't want them duplicated.
* @metamask/eslint-config*@6.0.0 (#10858)
* @metamask/eslint-config*@6.0.0
* Minor eslintrc reorg
* Refactoring threebox.spec.js to use fixtures (#10849)
* Adjust renderWithProvider to accommodate redux-less components (#10857)
* Jest config (#10855)
* Setup jest config
* Adjust test for jest.
* Adjust lint config
* Omit swaps ui folder for unit testing
* Omit swaps from test:unit:lax
* Add jest.config.js to script files
* Restore mocks rather than clearing them.
* Update jest config and adjust lint to include subdirs
* Convert view-quote-price-difference test to jest
* Add jest ci and ci coverage scripts. Add jest unit test to general test command
* Add test coverage to ci
* Use --ignore flag
* Fixup
* Add @metamask/eslint-config-jest
* Update .eslintrc.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Adds jest-coverage/
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Add jest-coverage/ to prettierignore (#10865)
* Add jest coverage (#10868)
* Add jest coverage
This will add coverage for any tests ran in jest under the `test:coverage:jest` command, which is currently being used in CI. I set the values to the current test coverage in `ui/app/pages/swaps`.
* Lint
* Fix crash when adding new changelog release header (#10870)
The `auto-changelog.js` script crashes when trying to add a new release
header. This bug was introduced in #10847. The cause was a simple
misnamed parameter.
* Change caching for Swaps APIs from 1 hour to 5 minutes (#10871)
* Change caching for the /tokens API from 1 hour to 5 minutes
* Use 5 minutes caching for /topAssets and /aggregatorMetadata APIs as well
* add key literals to driver (#10854)
* Quote globs in prettier scripts (#10867)
* use waitForSelector instead of until (#10852)
* complete abstraction of until method
* response to feedback
* Adding recovery phrase video to onboarding process (#10717)
* Adding recovery phrase video to onboarding process
Adding english subtitles
* Support textAlign in Box, converting sidebar to Box
* Reduce calls of the `/featureFlag` API (#10859)
* Remove periodic calls to the /featureFlag API
* Always show the Swap button on the main page
* Check if the Swaps feature is enabled, show loading animation while waiting
* Reuse an existing useEffect call
* Use ‘isFeatureFlagLoaded’ in React’s state, resolve lint issues
* Add a watch mode for Jest testing
* Add unit tests for Swaps: fetchSwapsLiveness, add /ducks/swaps into Jest testing
* Remove Swaps Jest tests from Mocha’s ESLint rules
* Ignore Swaps Jest tests while running Mocha, update paths
* Increase test coverage to the current max
* Fix ESLint issues for Swaps
* Enable the Swaps feature by default and after state reset, remove loading screen before seeing Swaps
* Update Jest config, fix tests
* Update Jest coverage threshold to the current maximum
* Update ESLint rule in jest.config.js
* Disable the “Review Swap” button if the feature flag hasn’t loaded yet
* Update jest threshold
* Fix 10036 - Prevent odd localStorage migration error in Firefox (#10884)
* Add jest watch mode script (#10869)
* Refactoring metamask-responsive-ui.spec.js to use fixtures (#10866)
* Handling infura blockage (#10883)
* Handling infura blockage
* Adding blockage home notification
* Updating copy, adding temporary notification dismissal
* Addressing review feedback
* Using eth_blockNumber method to check Infura availability
* Handling network changes in availability check
* Use jest to run ui/**/*.test.js (#10885)
* upgrade ethereumjs util (#10886)
* Swaps: Show a network name dynamically in a tooltip (#10882)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Adding option to set Custom Nonce to Confirm Approve Page (#10595)
* Dep Upgrades for Lavamoat Patches (#10902)
* dep upgrades
* apply more patches
* Dep upgrades and patches (#10903)
* apply patches
* lavamoat dep upgrades
* remove lavamoat browserify
* Increase Jest unit test coverage for the Swaps feature to ~25% (#10900)
* Swaps: Show a network name dynamically in a tooltip
* Replace “Ethereum” with “$1”, change “Test” to “Testnet”
* Replace 이더리움 with $1
* Translate network names, use ‘Ethereum’ by default if a translation is not available yet
* Reorder messages to resolve ESLint issues
* Add a snapshot test for the FeeCard component, increase Jest threshold
* Enable snapshot testing into external .snap files in ESLint
* Add the “networkNameEthereum” key in ko/messages.json, remove default “Ethereum” value
* Throw an error if chain ID is not supported by the Swaps feature
* Use string literals when calling the `t` fn,
* Watch Jest tests silently (no React warnings in terminal, only errors)
* Add @testing-library/jest-dom, import it before running Jest tests
* Add snapshot testing of Swaps’ React components for happy paths, increase minimum threshold for Jest
* Add the test/jest folder for Jest setup and shared functions, use it in Swaps Jest tests
* Fix ESLint issues, update linting config
* Enable ESLint for .snap files (Jest snapshots), throw an error if a snapshot is bigger than 50 lines
* Don’t run lint:fix for .snap files
* Move `createProps` outside of `describe` blocks, move store creation inside tests
* Use translations instead of keys, update a rendering function to load translations
* Make sure all Jest snapshots are shorter than 50 lines (default limit)
* Add / update props for Swaps tests
* Fix React warnings when running tests for Swaps
* Bump @metamask/contract-metadata from 1.23.0 to 1.25.0 (#10899)
Bumps [@metamask/contract-metadata](https://github.com/MetaMask/contract-metadata) from 1.23.0 to 1.25.0.
- [Release notes](https://github.com/MetaMask/contract-metadata/releases)
- [Commits](https://github.com/MetaMask/contract-metadata/compare/v1.23.0...v1.25.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Refactoring from-import-ui.spec.js to use fixtures (#10907)
* Fix 10458 - Understand where to get support (#10895)
* Add contract address validation for token swaps (#10912)
* Fixing ENS input entry in send flow (#10923)
* Fixing ENS input entry in send flow
Fixes MetaMask/metamask-extension#10691
* removed unnecessary apostrophe
* Refactoring incremental-security.spec.js to use fixtures (#10917)
* use one segment instance (#10915)
* Implement Ledger Live bridge (#10293)
* add view account-details menu item to token-options menu (#10932)
* add view account-details menu item to token-options menu
* add onViewAccountDetails propType
* Fix 10609 - Prevent overflow of confirmation page hostname (#10935)
* upgrade eth-keyring-controller (#10933)
* [Fix] 10365 My Accounts Removal (#10680)
* pushing my-accounts removal
* removed CONTACT_MY_ACCOUNTS_ROUTE
* removed CONTACT_MY_ACCOUNTS_VIEW_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removing CONTACT_MY_ACCOUNTS_EDIT_ROUTE
* removed showingMyAccounts dead code
* removed more dead code related to isMyAccountsPage
* removing more dead code
* fixed linting error(s)
* removing my-accounts component/folder
* added empty contact screen ui
* styled empty contact page ui
* fixed linting, removed add contacts button, and fixed errors
* localized text and centered No Contacts
* pushing localized verification and fixed e2e test
* added listRoute redirect
* added listroute and fixed linting error
* Increase Jest unit test coverage for the Swaps feature to ~43% (#10934)
* add hamburger menu to eth page (#10938)
* add hamburger menu to eth page
* change token-options to asset-options, use more direct selector for user address fetch
* use token custom icons where possible (#10939)
* Whats new popup (#10583)
* Add 'What's New' notification popup
* Move selectors from shared/notifications into ui/ directory
* Use keys for localized message in whats new notifications objects, to ensure notifications will be translated.
* Remove unused swaps intro popup locale messages
* Fix keys of whats new notification locales
* Remove notifications messages and descriptions from comment in shared/notifications
* Move notifcationActionFunctions to shared/notifications and make it stateless
* Get notification data from constants instead of state in whats-new-popup
* Code cleanup
* Fix build quote reference to swapsEthToken, broken during rebase
* Rename notificationFilters to notificationToExclude to clarify its purpose
* Documentation for getSortedNotificationsToShow
* Move notification action functions from shared/ to whats-new-popup.js
* Stop setting swapsWelcomeMessageHasBeenShown to state in app-state controller
* Update e2e tests for whats new popup changes
* Updating migration files
* Addressing feedback part 1
* Addressing feedback part 2
* Remove unnecessary div in whats-new-popup
* Change getNotificationsToExclude to getNotificationsToInclude for use in the getSortedNotificationsToShow selector
* Delete intro-popup directory and test files
* Lint fix
* Add notifiction state to address-entry fixture
* Use two separate functions for rendering first and subsequent notifications in the whats-new-popup
* Ensure that string literals are passed to t for whats new popup text
* Update import-ui fixtures to include notificaiton controller state
* Remove unnecessary, accidental change confirm-approve
* Remove swaps notification in favour of mobile swaps as first notifcation and TBD 3rd notification
* Update whats-new-popup to use intersection observer api to detect if notification has been seen
* Add notifications to send-edit and threebox e2e test fixtures
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Update ui/app/selectors/selectors.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Clean up locale code for whats-new-popup notifications
* Disconnect observers in whats-new-popup when their callback is first called
* Add test case for migration 58 for when the AppStateController does not exist
* Rename popover components containerRef to popoverWrapRef
* Fix messages.json
* Update notification messages and images
* Rename popoverWrapRef -> popoverRef in whats-new-popup and popover.component
* Only create one observer, and only after images have loaded, in whats-new-popup
* Set width and height on whats-new-popup image, instead of setting state on img load
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Code clean up in whats new popup re: notification rendering and action functions
* Code cleanup in render notification functions of whats-new-popup
* Update ui/app/components/app/whats-new-popup/whats-new-popup.js
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* lint fix
* Update and localize notification dates
* Clean up date code in shred/notifications/index.js
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
* Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 15b596ad15f2d569255c39e5e7babc8b7ab700ca.
* Version v9.5.0
* Update changelog for v9.5.0
* yarn allow-scripts and yarn lavamoat:auto for Version-v9.5.0 branch
* Anchor the Need Help text to the bottom of the expanded page (#10955)
* fix transaction sync logic (#10954)
* Add backwards compatibility for ETH <-> WETH contract address validation (#10962)
* Whats new popup design fixes (#10964)
* Remove padding on QR code image
* Allow the qr code to be below the description in the whats new popup
* Fix size and position of QR code in whats new notification
* Add right caret to action links in whats new popup
* Clean up placeImageBelowDescription logic
* Fix display of whats-new-popup image
* Improve spacing and sizing of whats new popup in both full screen and popup view
* refactor
* Ensure method of adding contact when contacts exist (#10963)
* Fixing alignment issue with bottom notification (#10979)
* Revert "Adding recovery phrase video to onboarding process (#10717)"
This reverts commit 9e918b602655e0e4620ab19a3959a8fc08ec0f47.
* Removing recovery video entry from changelog
* Remove tests that are only needed for the commit reverted in 68c5defc
* Fix dependency vulnerability by upgrading xmlhttprequest-ssl via yarn.lock (#10990)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Barry Gitarts <bgitarts@gmail.com>
Co-authored-by: Dan J Miller <danjm.com@gmail.com>
Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Niranjana Binoy <43930900+NiranjanaBinoy@users.noreply.github.com>
Co-authored-by: Shane <jonas.shane@gmail.com>
Co-authored-by: gitpurva <47534619+gitpurva@users.noreply.github.com>
Co-authored-by: kumavis <kumavis@users.noreply.github.com>
Co-authored-by: Etienne Dusseault <etienne.dusseault@gmail.com>
Co-authored-by: kumavis <aaron@kumavis.me>
Co-authored-by: Grant Bakker <grant@bakker.pw>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: Muhammet Kara <mrkara@users.noreply.github.com>
Co-authored-by: Daniel <80175477+dan437@users.noreply.github.com>
Co-authored-by: Thomas Huang <tmashuang@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas <thomas.b.huang@gmail.com>
Co-authored-by: Alex Donesky <alex.donesky@consensys.net>
Co-authored-by: Austin Akers <austin.akers5@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
4 years ago
|
|
|
await driver.waitForSelector({
|
|
|
|
css: '.token-overview__primary-balance',
|
|
|
|
text: '0 BAT',
|
|
|
|
});
|
|
|
|
await driver.delay(regularDelayMs);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|