MetaMask / MetaMask/metamask-extension

Make SwapsController support multichain

Open
#23,566 4 comments 0 reactions 1 assignee Claimed by @mcmire View on GitHub
external-contributor team-core-platform
Dominant language
TypeScript
Stars
13.2k
Forks
5.6k
Avg merge
2d 5h
Merged PRs (30d)
451

Description

### What is this about?

Make SwapsController support multichain.

The swaps controller currently relies upon the "globally selected network". It should be refactored such that each chain interaction is made by methods that include a networkClientId parameter, which determines which network client/chain is used.

### Scenario

_No response_

### Design

_No response_

### Technical Details

N/A

### Threat Modeling Framework

N/A

### Acceptance Criteria

- The controller no longer relies upon the globally selected network.
- All operations involving a chain specify a `networkClientId`.

### Stakeholder review needed before the work gets merged

- [X] Engineering (needed in most cases)
- [ ] Design
- [ ] Product
- [ ] QA (automation tests are required to pass before merging PRs but not all changes are covered by automation tests - please review if QA is needed beyond automation tests)
- [ ] Security
- [ ] Legal
- [ ] Marketing
- [ ] Management (please specify)
- [ ] Other (please specify)

### References

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.