Skip to content

Commit

Permalink
Backport "Fix method registry initialization (#8200)"
Browse files Browse the repository at this point in the history
Backport #8200 to v7.7.9. Original commit description:

The method registry was being initialized with the global variable
`ethereumProvider` before that variable was set. As a result, the
method registry was falling back to an internally constructed provider
that used the wrong provider URL (an obsolete Infura API). This was
resulting in an error with the message "Project ID not found".

The method registry is now initialized lazily, when it's first needed.
This should be well after the initialization of `ethereumProvider`,
which occurs during the UI initialization.
  • Loading branch information
Gudahtt committed Apr 29, 2020
1 parent f91bd3a commit fe30e40
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 2 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
- [#8447](https://github.com/MetaMask/metamask-extension/pull/8447): Delete Dai/Sai migration notification
- [#8460](https://github.com/MetaMask/metamask-extension/pull/8460): Update deposit copy for Wyre
- [#8458](https://github.com/MetaMask/metamask-extension/pull/8458): Snapshot txMeta without cloning history
- [#8459](https://github.com/MetaMask/metamask-extension/pull/8459): Fix method registry initialization

## 7.7.8 Wed Mar 11 2020
- [#8176](https://github.com/MetaMask/metamask-extension/pull/8176): Handle and set gas estimation when max mode is clicked
Expand Down
7 changes: 5 additions & 2 deletions ui/app/helpers/utils/transactions.util.js
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,7 @@ async function getMethodFrom4Byte (fourBytePrefix) {
return null
}
}

const registry = new MethodRegistry({ provider: global.ethereumProvider })
let registry

/**
* Attempts to return the method data from the MethodRegistry library, the message registry library and the token abi, in that order of preference
Expand All @@ -62,6 +61,10 @@ export async function getMethodDataAsync (fourBytePrefix) {
return null
})

if (!registry) {
registry = new MethodRegistry({ provider: global.ethereumProvider })
}

let sig = await registry.lookup(fourBytePrefix)

if (!sig) {
Expand Down

0 comments on commit fe30e40

Please sign in to comment.