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

Deps rpc errors 7 json rpc engine #17

Open
wants to merge 16 commits into
base: main
Choose a base branch
from

Conversation

legobeat
Copy link
Owner

@legobeat legobeat commented Oct 9, 2024

Explanation

References

Changelog

@metamask/package-a

  • : Your change here
  • : Your change here

@metamask/package-b

  • : Your change here
  • : Your change here

Checklist

  • I've updated the test suite for new or updated code as appropriate
  • I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate
  • I've highlighted breaking changes using the "BREAKING" category above as appropriate
  • I've prepared draft pull requests for clients and consumer packages to resolve any breaking changes

@legobeat legobeat force-pushed the deps-rpc-errors-7-json-rpc-engine branch 6 times, most recently from b39b50b to 60d1c0b Compare October 9, 2024 05:45
sahar-fehri and others added 2 commits October 9, 2024 16:57
## Explanation

What motivates this change is this user report
MetaMask/metamask-extension#27614

Based on discussions we had with teams; seems like initially, we added
the `includeDuplicateSymbolAssets` because there were concerns around
duplicate symbols being scammy and the increased size of tokenList.

For the duplicate symbols being scammy concern; i think our usage of
`occurrencesFloor=3` is helping us filter out any scam tokens.
Having tokens with the same symbol is not unusual and it does not
necessarily mean that the token is a scam.

For the tokenList size; we thought that; today; the tokenList we get
without `includeDuplicateSymbolAssets` has around 4500 tokens. With the
`includeDuplicateSymbolAssets` it has around 4000. Which does not seem
like it should have a huge impact. We thought that token the tokenList
size would increase regardless in future, and if users add their tokens
to lists and expect to see them we should not be filtering them out even
if they have duplicates.


## References

<!--
Are there any issues that this pull request is tied to?
Are there other links that reviewers should consult to understand these
changes better?
Are there client or consumer pull requests to adopt any breaking
changes?

For example:

* Fixes #12345
* Related to #67890
-->

## Changelog

<!--
If you're making any consumer-facing changes, list those changes here as
if you were updating a changelog, using the template below as a guide.

(CATEGORY is one of BREAKING, ADDED, CHANGED, DEPRECATED, REMOVED, or
FIXED. For security-related issues, follow the Security Advisory
process.)

Please take care to name the exact pieces of the API you've added or
changed (e.g. types, interfaces, functions, or methods).

If there are any breaking changes, make sure to offer a solution for
consumers to follow once they upgrade to the changes.

Finally, if you're only making changes to development scripts or tests,
you may replace the template below with "None".
-->

### `@metamask/assets-controllers`

- **Removed**: Removed param `includeDuplicateSymbolAssets` in our api
call to token-api.


## Checklist

- [ ] I've updated the test suite for new or updated code as appropriate
- [ ] I've updated documentation (JSDoc, Markdown, etc.) for new or
updated code as appropriate
- [ ] I've highlighted breaking changes using the "BREAKING" category
above as appropriate
- [ ] I've prepared draft pull requests for clients and consumer
packages to resolve any breaking changes
@legobeat legobeat force-pushed the deps-rpc-errors-7-json-rpc-engine branch from 60d1c0b to d168983 Compare October 9, 2024 21:01
mathieuartu and others added 10 commits October 10, 2024 09:57
## Explanation

This PR fixed an unintended behavior where we were syncing imported
accounts.

## References

https://consensyssoftware.atlassian.net/browse/NOTIFY-1215

## Changelog

### `@metamask/profile-sync-controller`

- **CHANGED**: Account syncing will not sync imported accounts anymore

## Checklist

- [x] I've updated the test suite for new or updated code as appropriate
- [x] I've updated documentation (JSDoc, Markdown, etc.) for new or
updated code as appropriate
- [x] I've highlighted breaking changes using the "BREAKING" category
above as appropriate
- [x] I've prepared draft pull requests for clients and consumer
packages to resolve any breaking changes
## Explanation

This PR adds profile-sync SDK and `UserStorageController` support for
the DELETE endpoint.
This exposes new methods that permit deleting one user entry for a
specific feature.

## References

https://consensyssoftware.atlassian.net/browse/NOTIFY-1214

## Changelog

### `@metamask/profile-sync-controller`

- **ADDED**: `UserStorageController` and profile-sync SDK support for
the `DELETE` one feature entry endpoint


## Checklist

- [x] I've updated the test suite for new or updated code as appropriate
- [x] I've updated documentation (JSDoc, Markdown, etc.) for new or
updated code as appropriate
- [x] I've highlighted breaking changes using the "BREAKING" category
above as appropriate
- [x] I've prepared draft pull requests for clients and consumer
packages to resolve any breaking changes
## Explanation

This is an RC for v216.0.0

## References

<!--
Are there any issues that this pull request is tied to?
Are there other links that reviewers should consult to understand these
changes better?
Are there client or consumer pull requests to adopt any breaking
changes?

For example:

* Fixes #12345
* Related to #67890
-->

## Changelog


### `@metamask/assets-controllers`

- The `includeDuplicateSymbolAssets` param is removed from our api call
to TokenApi ([MetaMask#4768](MetaMask#4768))



## Checklist

- [ ] I've updated the test suite for new or updated code as appropriate
- [ ] I've updated documentation (JSDoc, Markdown, etc.) for new or
updated code as appropriate
- [ ] I've highlighted breaking changes using the "BREAKING" category
above as appropriate
- [ ] I've prepared draft pull requests for clients and consumer
packages to resolve any breaking changes
## Explanation

This is a RC for v217.0.0. See changelog for more details
- @metamask/profile-sync-controller@0.9.7

## References

https://consensyssoftware.atlassian.net/browse/NOTIFY-1215
https://consensyssoftware.atlassian.net/browse/NOTIFY-1214

## Changelog

```ms
### Changed

- Bump `@metamask/profile-sync-controller` from `^0.9.6` to `^0.9.7` ([MetaMask#4779](MetaMask#4779))
```

## Checklist

- [x] I've updated the test suite for new or updated code as appropriate
- [x] I've updated documentation (JSDoc, Markdown, etc.) for new or
updated code as appropriate
- [x] I've highlighted breaking changes using the "BREAKING" category
above as appropriate
- [x] I've prepared draft pull requests for clients and consumer
packages to resolve any breaking changes
## Explanation

This PR introduces new functions to generate mock notifications. The
goal is to ensure the correct implementation of new notifications on the
relevant clients by providing developers with the ability to mock the
information they will soon receive from the notification service.

## References

N/A

## Changelog

### `@metamask/notification-services-controller`

- **ADDED**: New functions added to mock the notifications received by
clients (extension and mobile)

## Checklist

- [x] I've updated the test suite for new or updated code as appropriate
- [x] I've updated documentation (JSDoc, Markdown, etc.) for new or
updated code as appropriate
- [x] I've highlighted breaking changes using the "BREAKING" category
above as appropriate
- [x] I've prepared draft pull requests for clients and consumer
packages to resolve any breaking changes
## Explanation

Allow the polling controllers to accept generic input when starting a
poll.

Today they accept:
```
networkClientId: NetworkClientId,
options: Json
```

But controllers may want unique polling loops over other data.

This PR allows controllers to use any serializable type as their polling
input. Controllers pass their input type as a generic argument to the
base class, making it more type safe than then previous `options: Json`.

An example of how this would be used in the future, is how
`CurrencyRateController` only needs a polling loop for each unique
native currency. So it would define:

```
type CurrencyRatePollingInput = {
  nativeCurrency: string;
};
```

And you would initiate polling with:
```
const currencyRateController = new(...);
const token1 = currencyRateController.startPolling({nativeCurrency: 'ETH'});
const token2 = currencyRateController.startPolling({nativeCurrency: 'POL'});
```

## References


## Changelog



<!--
If you're making any consumer-facing changes, list those changes here as
if you were updating a changelog, using the template below as a guide.

(CATEGORY is one of BREAKING, ADDED, CHANGED, DEPRECATED, REMOVED, or
FIXED. For security-related issues, follow the Security Advisory
process.)

Please take care to name the exact pieces of the API you've added or
changed (e.g. types, interfaces, functions, or methods).

If there are any breaking changes, make sure to offer a solution for
consumers to follow once they upgrade to the changes.

Finally, if you're only making changes to development scripts or tests,
you may replace the template below with "None".
-->

### `@metamask/polling-controller`

- **BREAKING**: The input to start polling is now a generic type that
can be any input, instead of requiring a network client id like before.
The functions interfaces are updated to accommodate this.
`startPollingByNetworkClientId` is now `startPolling`. And
`onPollingComplete` now returns the entire input object, instead of a
network client id.

## Checklist

- [ ] I've updated the test suite for new or updated code as appropriate
- [ ] I've updated documentation (JSDoc, Markdown, etc.) for new or
updated code as appropriate
- [ ] I've highlighted breaking changes using the "BREAKING" category
above as appropriate
- [ ] I've prepared draft pull requests for clients and consumer
packages to resolve any breaking changes
## Explanation

This is a RC for v218.0.0. See changelog for more details

-   @metamask/notification-services-controller:0.9.0

## References

https://consensyssoftware.atlassian.net/browse/NOTIFY-1202

## Changelog

```
## [0.9.0]

### Added

- Add new functions for creating new mock notifications ([MetaMask#4780](MetaMask#4780))
```

## Checklist

- [x] I've updated the test suite for new or updated code as appropriate
- [x] I've updated documentation (JSDoc, Markdown, etc.) for new or
updated code as appropriate
- [x] I've highlighted breaking changes using the "BREAKING" category
above as appropriate
- [x] I've prepared draft pull requests for clients and consumer
packages to resolve any breaking changes
## Explanation

This PR modifies some mock data returned by the
NotificationServicesController to provide more realistic data for use in
tests and component rendering in Storybook.

## References

N/A

## Changelog

### `@metamask/notification-services-controller`

- **CHANGED**: some functions in `mock-raw-notifications` now return
more realistic mock data


## Checklist

- [x] I've updated the test suite for new or updated code as appropriate
- [x] I've updated documentation (JSDoc, Markdown, etc.) for new or
updated code as appropriate
- [x] I've highlighted breaking changes using the "BREAKING" category
above as appropriate
- [x] I've prepared draft pull requests for clients and consumer
packages to resolve any breaking changes
…k#4790)

## Explanation

This PR introduces the ability for the
`fetchFeatureAnnouncementNotifications` function, within the
`notification-services-controller`, to fetch draft content from
Contentful. This is made possible by passing a `previewToken` parameter.
If present, the function will call the correct endpoint and use the
token. This change is particularly useful for teams that need to test
the quality of content in Contentful before its publication.

## References


https://consensyssoftware.atlassian.net/browse/NOTIFY-1159?atlOrigin=eyJpIjoiMTQ3YmE3ZGQwYWY2NGUwOWE2NGMxYzE4NWVlNzk1Y2UiLCJwIjoiaiJ9

## Changelog

### `@metamask/notification-services-controller`

- **ADDED**: The `fetchFeatureAnnouncementNotifications` function now
accepts an optional previewToken parameter

## Checklist

- [x] I've updated the test suite for new or updated code as appropriate
- [x] I've updated documentation (JSDoc, Markdown, etc.) for new or
updated code as appropriate
- [x] I've highlighted breaking changes using the "BREAKING" category
above as appropriate
- [x] I've prepared draft pull requests for clients and consumer
packages to resolve any breaking changes
@legobeat legobeat force-pushed the deps-rpc-errors-7-json-rpc-engine branch from 2f76851 to 7849aff Compare October 14, 2024 19:51
dbrans and others added 4 commits October 15, 2024 07:26
… changes (MetaMask#4775)

## Explanation
* Use contract abi's to decode the amounts of token balance changes
– instead of the raw output from a balanceOf call.

## References

<!--
Are there any issues that this pull request is tied to?
Are there other links that reviewers should consult to understand these
changes better?
Are there client or consumer pull requests to adopt any breaking
changes?

For example:

* Fixes #12345
* Related to #67890
-->

* Fixes: MetaMask/metamask-extension#26521

## Changelog

<!--
If you're making any consumer-facing changes, list those changes here as
if you were updating a changelog, using the template below as a guide.

(CATEGORY is one of BREAKING, ADDED, CHANGED, DEPRECATED, REMOVED, or
FIXED. For security-related issues, follow the Security Advisory
process.)

Please take care to name the exact pieces of the API you've added or
changed (e.g. types, interfaces, functions, or methods).

If there are any breaking changes, make sure to offer a solution for
consumers to follow once they upgrade to the changes.

Finally, if you're only making changes to development scripts or tests,
you may replace the template below with "None".
-->

### `@metamask/transaction-controller`

- **FIXED**: Use contract abi's to decode the amounts of token balance
changes – instead of the raw output from a balanceOf call.
## Checklist

- [ ] I've updated the test suite for new or updated code as appropriate
- [ ] I've updated documentation (JSDoc, Markdown, etc.) for new or
updated code as appropriate
- [ ] I've highlighted breaking changes using the "BREAKING" category
above as appropriate
- [ ] I've prepared draft pull requests for clients and consumer
packages to resolve any breaking changes
## Explanation

This is a RC for v219.0.0. See changelog for more details

-  @metamask/notification-services-controller:0.10.0

## References

https://consensyssoftware.atlassian.net/browse/NOTIFY-1159

## Changelog

```
## [0.10.0]

### Changed

- update `createMockNotification` functions to provide more realistic data for use in tests and component rendering in Storybook ([MetaMask#4791](MetaMask#4791))

### Added

- added the ability for the `fetchFeatureAnnouncementNotifications` function, within the `notification-services-controller`, to fetch draft content from Contentful. This is made possible by passing a `previewToken` parameter ([MetaMask#4790](MetaMask#4790))
```

## Checklist

- [x] I've updated the test suite for new or updated code as appropriate
- [x] I've updated documentation (JSDoc, Markdown, etc.) for new or
updated code as appropriate
- [x] I've highlighted breaking changes using the "BREAKING" category
above as appropriate
- [x] I've prepared draft pull requests for clients and consumer
packages to resolve any breaking changes
…ependency range

chore(constraints): move out constant object construction from function body
@legobeat legobeat force-pushed the deps-rpc-errors-7-json-rpc-engine branch from 7849aff to 1972ccf Compare October 15, 2024 22:19
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.

7 participants