From 2cd96227e3aa1266cf8fa2a83f33f92bdb51936d Mon Sep 17 00:00:00 2001 From: yann300 Date: Mon, 11 Apr 2022 22:38:54 +0200 Subject: [PATCH] make sure it's connect before resolving the network & trigger a metamkas enable --- apps/remix-ide/src/blockchain/execution-context.js | 10 +++++++++- libs/remix-ui/run-tab/src/lib/run-tab.tsx | 2 ++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/apps/remix-ide/src/blockchain/execution-context.js b/apps/remix-ide/src/blockchain/execution-context.js index 6688214efc..9f508a478f 100644 --- a/apps/remix-ide/src/blockchain/execution-context.js +++ b/apps/remix-ide/src/blockchain/execution-context.js @@ -38,7 +38,6 @@ export class ExecutionContext { this.executionContext = 'vm' } else { this.executionContext = injectedProvider ? 'injected' : 'vm' - if (this.executionContext === 'injected') this.askPermission() } } @@ -76,6 +75,15 @@ export class ExecutionContext { if (this.isVM()) { callback(null, { id: '-', name: 'VM' }) } else { + if (!web3.currentProvider) { + return callback('No provider set') + } + if (web3.currentProvider.isConnected && !web3.currentProvider.isConnected()) { + if (web3.currentProvider.isMetaMask) { + this.askPermission() + } + return callback('Provider not connected') + } web3.eth.net.getId((err, id) => { let name = null if (err) name = 'Unknown' diff --git a/libs/remix-ui/run-tab/src/lib/run-tab.tsx b/libs/remix-ui/run-tab/src/lib/run-tab.tsx index c8c74966c8..45e343fdbc 100644 --- a/libs/remix-ui/run-tab/src/lib/run-tab.tsx +++ b/libs/remix-ui/run-tab/src/lib/run-tab.tsx @@ -56,6 +56,8 @@ export function RunTabUI (props: RunTabProps) { storage: null, contract: null }) + runTabInitialState.selectExEnv = props.plugin.blockchain.getProvider() + runTabInitialState.selectExEnv = runTabInitialState.selectExEnv === 'vm' ? 'vm-london' : runTabInitialState.selectExEnv const [runTab, dispatch] = useReducer(runTabReducer, runTabInitialState) const REACT_API = { runTab }