Fix method registry initialization (#8200)

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.
feature/default_network_editable
Mark Stacey 5 years ago committed by GitHub
parent e3b68579ca
commit 91f6dfc6e0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 7
      ui/app/helpers/utils/transactions.util.js

@ -49,8 +49,7 @@ async function getMethodFrom4Byte (fourBytePrefix) {
return null return null
} }
} }
let registry
const registry = new MethodRegistry({ provider: global.ethereumProvider })
/** /**
* Attempts to return the method data from the MethodRegistry library, the message registry library and the token abi, in that order of preference * Attempts to return the method data from the MethodRegistry library, the message registry library and the token abi, in that order of preference
@ -64,6 +63,10 @@ export async function getMethodDataAsync (fourBytePrefix) {
return null return null
}) })
if (!registry) {
registry = new MethodRegistry({ provider: global.ethereumProvider })
}
let sig = await registry.lookup(fourBytePrefix) let sig = await registry.lookup(fourBytePrefix)
if (!sig) { if (!sig) {

Loading…
Cancel
Save