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

chore(gas-fee-controller): revert recent gas API endpoint #4446

Merged
merged 6 commits into from
Jun 27, 2024

Conversation

dbrans
Copy link
Contributor

@dbrans dbrans commented Jun 21, 2024

Explanation

Background:

  • Because of a caching issue with the gas.api.infura.io endpoint, the API team has asked us to revert a recent gas API endpoint change until the issue is resolved, which could take months.
  • To address the issue quickly, patches with this revert went out to extension and mobile.
  • This PR is a follow-up task

References

Changelog

@metamask/gas-fee-controller

  • BREAKING: Removed the infuraAPIKey. This was used to construct and send the Authorization header for Infura gas API requests.
  • BREAKING: Added back the constructor options legacyAPIEndpoint and EIP1559APIEndpoint. These URLs are no longer hardcoded within the controller.

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

@dbrans dbrans marked this pull request as ready for review June 21, 2024 20:49
@dbrans dbrans requested a review from a team as a code owner June 21, 2024 20:49
@HeyFloM
Copy link

HeyFloM commented Jun 26, 2024

Heya! @dbrans Bumping on my last question on #25308
We are an EVM chain and we're currently implementing EIP-1559. As we are not integrated with Infura, we can't use the Infura API and our users are not able to read the estimated gas values in Metamask. Therefore we would like to know if the new endpoint will use native ETH RPC methods (eth_feeHistory and eth_maxPriorityFeePerGas), as this would solve our problem.
Thanks a lot!

This reverts commit 850461d.

merge conflicts:
- determineGasFeeCalculations.ts
- GasFeeController.ts
- GasFeeController.test.ts
@dbrans dbrans force-pushed the djb/revert-gas-api-endpoint branch from fa2b9a3 to e5857dc Compare June 26, 2024 13:33
@dbrans dbrans changed the base branch from main to djb/gas-fee-tests June 26, 2024 13:33
adonesky1
adonesky1 previously approved these changes Jun 26, 2024
Copy link
Contributor

@adonesky1 adonesky1 left a comment

Choose a reason for hiding this comment

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

LGTM

Base automatically changed from djb/gas-fee-tests to main June 26, 2024 20:07
@dbrans dbrans dismissed adonesky1’s stale review June 26, 2024 20:07

The base branch was changed.

@dbrans
Copy link
Contributor Author

dbrans commented Jun 26, 2024

We are an EVM chain and we're currently implementing EIP-1559. As we are not integrated with Infura?

Hi @cloudonshore and @blurpesec are you able to answer @HeyFloM's question above?

@HeyFloM to clarify, this PR is reverting an endpoint change, so it's not technically a new service.

@HeyFloM
Copy link

HeyFloM commented Jun 27, 2024

@HeyFloM to clarify, this PR is reverting an endpoint change, so it's not technically a new service.

Yes exactly, and it's a good thing for us as we couldn't use the Infura endpoint :)
We're trying to understand if the new endpoint is using Native ETH methods to calculate gas fees or if again, it will require us to be integrated with another third party provider. Thanks!

@dbrans dbrans merged commit 036edd3 into main Jun 27, 2024
116 checks passed
@dbrans dbrans deleted the djb/revert-gas-api-endpoint branch June 27, 2024 15:14
@dbrans dbrans mentioned this pull request Jul 3, 2024
3 tasks
ccharly added a commit that referenced this pull request Jul 3, 2024
## Explanation

Create release for:
- `@metamask/accounts-controller` to ^17.2.0
- `@metamask/gas-fee-controller` to ^18.0.0
- `@metamask/transaction-controller` to ^34.0.0
- `@metamask/user-operation-controller` to ^13.0.0


<!--
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?
-->

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

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/accounts-controller`

- **ADDED**: `accountAdded` and `accountRemoved` events
([#4496](#4496))
- **ADDED**: Export
`AccountsControllerListMultichainAccounts`,`AccountsControllerGetSelectedMultichainAccount`,`AccountsControllerGetNextAvailableAccountName}Action`
actions ([#4497](#4497))
- **FIXED**: Use `listMultichainAccounts` for non-EVM specific methods.
([#4494](#4494))
- **FIXED**: Set `lastSelected` for initial account
([#4494](#4494))

### `@metamask/gas-fee-controller`
- **BREAKING**: Added back the constructor options legacyAPIEndpoint and
EIP1559APIEndpoint. These URLs are no longer hardcoded within the
controller.
- **BREAKING**: Removed the infuraAPIKey. This was used to construct and
send the Authorization header for Infura gas API requests.
([#4446](#4446))
- **CHANGED**: Changing `providerConfig` to `selectedNetworkClientId`
([#4356](#4356))
- 
### `@metamask/user-operation-controller`
- **BREAKING:** Bump dependency and peer dependency
`@metamask/gas-fee-controller` to `^18.0.0`
([#4498](#4498))
- **BREAKING:** Bump dependency and peer dependency
`@metamask/transaction-controller` to `^34.0.0`
([#4498](#4498))
- 
### `@metamask/transaction-controller`
- **BREAKING:** Bump dependency and peer dependency
`@metamask/gas-fee-controller` to `^18.0.0`
([#4498](#4498))
## 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

---------

Co-authored-by: Jongsun Suh <[email protected]>
Co-authored-by: Elliot Winkler <[email protected]>
Co-authored-by: Charly Chevalier <[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.

3 participants