Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

30.0.0 #848

Merged
merged 14 commits into from
Jun 8, 2022
Merged

30.0.0 #848

merged 14 commits into from
Jun 8, 2022

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Jun 7, 2022

This is the release candidate for version 30.0.0.

[30.0.0]

Added

  • BREAKING: Introduce getNetworkState, getPreferencesState, and onTokenListStateChange to the TokenDetectionController constructor options object (#808)
    • getPreferencesState provides the default value for useTokenDetection from the PreferencesController state.
    • getNetworkState provides the default value for chainId from the NetworkController state.
    • onTokenListStateChange listener triggers a detect action whenever the TokenListController finishes fetching a token list.
  • BREAKING: Expose chainId to AssetsContractController and add check whether current network supports token detection (#809)
    • Consumers will need to pass listener method onNetworkStateChange in AssetsContractController constructor options object. This method should be called with network/provider details when network changes occur.
  • Add "onCollectibleAdded" event handler to the CollectiblesController constructor (#814)
    • This event handler was added to allow us to capture metrics.

Changed

  • BREAKING: Change addTokens to addDetectedTokens on the TokenDetectionController constructor (#808)
    • We are no longer automatically adding detected tokens to the wallet. This will provide users with the ability to manually import or ignore detected tokens.
  • BREAKING: Rename useStaticTokenList to useTokenDetection on the PreferencesController constructor options object and set the value to be true by default (#808)
    • Token detection will now be enabled by default.
  • BREAKING: Append phishfort blocklist to list used by PhishingController (#715)
    • The test method on PhishingController no longer returns a boolean, it now returns an object matching the EthPhishingDetectResult interface (defined in PhishingController.ts).
  • BREAKING: Rename convertPriceToDecimal method name to convertHexToDecimal (#808)
    • Consumers of this method must update the function name wherever it is used.
  • Update TokensController to support detected tokens (#808)
    • Introduce detectedTokens to the config object to track detected tokens, which is updated by calling addDetectedTokens whenever TokenDetectionController detects new tokens.
    • Added fetchTokenMetadata private method to fetch token metadata whenever adding individual tokens. This is currently used to populate aggregator information.
  • Append detectedTokens to both TokenBalancesController & TokenRatesController tokens config object within their onTokensStateChange listener methods (#808)
    • This change ensures that we are populating both balances and rates for detected tokens.
  • Re-point OpeanSea API calls to Codefi proxy (#805)
    • All NFT related queries that were routed to OpenSea will now first route to a proxy server owened by Codefi. If this first request fails, and an OpenSea API key has been set, the query will re-route to OpenSea as a fallback.
  • Return ETH currency rate for testnet ETH (#816)
  • Query for name and symbol on ERC721 contracts regardless of whether or not they support the metadata interface (#834)
  • Increase polling interval for tokenListController and require minimum of 3 occurences across sources for use in the dynamic token list (#836)

Removed

  • BREAKING: Deprecate removeAndIgnoreToken method in TokensController (#808)
    • The logic for removing token(s) is now consolidated in a new method named ignoredTokens. Consumers will need to update instances of removeAndIgnoreToken to use ignoredTokens instead.
  • BREAKING: Remove onTokensStateChange from the TokenDetectionController constructor options object (#808)
    • This was previously used to update the tokens property in the controller's configuration object. This is not needed since those tokens are managed by the TokensController.
  • BREAKING: Remove useStaticTokenList and onPreferencesStateChange from TokenListController constructor options object (#806)
    • useStaticTokenList was previously used to determined if this controller fetched against a static vs dynamic token list and onPreferencesStateChange was used to update useStaticTokenList.
    • The controller now always fetches from a dynamic token list.
  • BREAKING: Remove snap-specific network-access endowment (#820)
    • Consumers who still require this endowment should import from @metamask/snap-controllers minimum version 0.13.0

Fixed

  • Fix issues parsing non-standard ERC20 responses (#830)
  • Now correctly reads token contract values for decimals and symbol with solidity return type bytes32

The commits under "Uncategorized" have not been reviewed yet.
CHANGELOG.md Outdated Show resolved Hide resolved
@adonesky1
Copy link
Contributor

I have asked @Cal-L to provide summaries for the following changelog entries:

- Introduce Detected Tokens ([#808](https://github.com/MetaMask/controllers/pull/808))
- Always pull from dynamic token list from TokenListController ([#806](https://github.com/MetaMask/controllers/pull/806))

CHANGELOG.md Outdated Show resolved Hide resolved
@adonesky1 adonesky1 marked this pull request as ready for review June 7, 2022 22:01
@adonesky1 adonesky1 requested a review from a team as a code owner June 7, 2022 22:01
Copy link
Contributor

@mcmire mcmire left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the notes here as compared to the changes made in the referenced PRs and had some suggestions on wording. A few things to keep in mind when writing release notes:

  • Try to include context for people who might not understand the feature being added or change being made. The original commit message may not contain this context because of brevity but keep in mind you can feel free to explain more things here. People shouldn't have to click into the PR to get that context.
  • Remember to include any changes to types as that is as much a part of the public API as method/function names.
  • Remember to include which controller is being updated as part of your note. This will get better once we switch to a monorepo because we can keep separate changelogs per package but for now it's something you have to keep in mind.

CHANGELOG.md Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
CHANGELOG.md Show resolved Hide resolved
Copy link
Contributor

@mcmire mcmire left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@adonesky1 adonesky1 merged commit e40fe73 into main Jun 8, 2022
@adonesky1 adonesky1 deleted the release/30.0.0 branch June 8, 2022 20:06
@adonesky1 adonesky1 temporarily deployed to npm-publish June 8, 2022 20:07 Inactive
@jveer634
Copy link

Hi @adonesky1
Are the updates released ?

MajorLift pushed a commit that referenced this pull request Oct 11, 2023
* 30.0.0

Co-authored-by: Mark Stacey <[email protected]>
Co-authored-by: Alex <[email protected]>
Co-authored-by: Cal Leung <[email protected]>
MajorLift pushed a commit that referenced this pull request Oct 11, 2023
* 30.0.0

Co-authored-by: Mark Stacey <[email protected]>
Co-authored-by: Alex <[email protected]>
Co-authored-by: Cal Leung <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants