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

feat: SOL-46 adds the multichain transactions controller package #5133

Merged
merged 28 commits into from
Jan 21, 2025

Conversation

zone-live
Copy link
Contributor

@zone-live zone-live commented Jan 13, 2025

Explanation

This PR adds a new package to the Core repo, with the new MultichainTransactions controller, it comes from my original extension PR, and it's responsibility is to track transactions for non-EVM accounts, with different block times, by using the Solana and Bitcoin snaps as the data source. It shares the same approach/structure with the MultichainBalancesController, given that responsibilities are very similar.

References

It relates to the PR opened in extension that will be updated after this one is merged.

Changelog

@metamask/multichain-transactions-controller

  • ADDED: New multichain-transactions-controller package, with the MultichainTransactionsController to track the transactions for non-EVM accounts by using the Solana and Bitcoin snaps as the data source..

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

@zone-live zone-live marked this pull request as ready for review January 13, 2025 14:22
@zone-live zone-live requested a review from a team as a code owner January 13, 2025 14:22
@zone-live zone-live changed the title chore: SOL-46 adds the multichain transactions controller package feat: SOL-46 adds the multichain transactions controller package Jan 13, 2025
@zone-live zone-live requested a review from danroc January 15, 2025 12:04
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.

Hello! Thanks for pinging us about this. Just had some comments below. I think reaching 100% test coverage to avoid pain in the future, aligning the controller with our controller guidelines, and adjusting the dependencies in package.json are the most important items here.

@zone-live zone-live requested a review from mcmire January 16, 2025 13:30
@zone-live
Copy link
Contributor Author

Hi Elliot @mcmire! I've added your feedback and just left 2 comments! 🙏🏼 If you can approve it now, would appreciate. Thank you for the extra pair of eyes!

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.

A couple more things I noticed but other than that this should be good!

@zone-live
Copy link
Contributor Author

zone-live commented Jan 17, 2025

A couple more things I noticed but other than that this should be good!

@mcmire updated! 💪🏼

@zone-live zone-live requested a review from mcmire January 17, 2025 15:53
@zone-live
Copy link
Contributor Author

@mcmire pinging you, please! 🙏🏼

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!

@mcmire mcmire enabled auto-merge (squash) January 21, 2025 21:03
@mcmire mcmire merged commit 139a146 into main Jan 21, 2025
123 checks passed
@mcmire mcmire deleted the SOL-46-adds-the-multichain-transactions-controller branch January 21, 2025 21:07
zone-live added a commit that referenced this pull request Jan 27, 2025
## Explanation

<!--
Thanks for your contribution! Take a moment to answer these questions so
that reviewers have the information they need to properly understand
your changes:

* What is the current state of things and why does it need to change?
* What is the solution your changes offer and how does it work?
* Are there any changes whose purpose might not obvious to those
unfamiliar with the domain?
* If your primary goal was to update one package but you found you had
to update another one along the way, why did you do so?
* If you had to upgrade a dependency, why did you do so?
-->

This PR adds a new package to the Core repo, with the new
MultichainTransactions controller, it comes from my original [extension
PR](MetaMask/metamask-extension#29129), and it's
responsibility is to track transactions for non-EVM accounts, with
different block times, by using the Solana and Bitcoin snaps as the data
source. It shares the same approach/structure with the
MultichainBalancesController, given that responsibilities are very
similar.

## 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
-->

It relates to the [PR opened in
extension](MetaMask/metamask-extension#29129)
that will be updated after this one is merged.

## 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/multichain-transactions-controller`

- **ADDED**: New `multichain-transactions-controller` package, with the
`MultichainTransactionsController` to track the transactions for non-EVM
accounts by using the Solana and Bitcoin snaps as the data source..

## 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
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.

4 participants