From d66a56ca6e188b5a7af4c367e8bfedb7688831da Mon Sep 17 00:00:00 2001 From: yann300 Date: Fri, 17 Mar 2023 16:08:02 +0100 Subject: [PATCH] listen on chainChanged / account changed for trust wallet --- apps/remix-ide/src/blockchain/blockchain.js | 8 ++++++++ libs/remix-ui/run-tab/src/lib/actions/events.ts | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/apps/remix-ide/src/blockchain/blockchain.js b/apps/remix-ide/src/blockchain/blockchain.js index 2c51182370..49367096ab 100644 --- a/apps/remix-ide/src/blockchain/blockchain.js +++ b/apps/remix-ide/src/blockchain/blockchain.js @@ -66,10 +66,18 @@ export class Blockchain extends Plugin { this._triggerEvent('networkStatus', [this.networkStatus]) }) }) + + this.on('injected-trustwallet', 'chainChanged', () => { + this.detectNetwork((error, network) => { + this.networkStatus = { network, error } + this._triggerEvent('networkStatus', [this.networkStatus]) + }) + }) } onDeactivation () { this.off('injected', 'chainChanged') + this.off('injected-trustwallet', 'chainChanged') } setupEvents () { diff --git a/libs/remix-ui/run-tab/src/lib/actions/events.ts b/libs/remix-ui/run-tab/src/lib/actions/events.ts index 46876b28e3..5fd49279d2 100644 --- a/libs/remix-ui/run-tab/src/lib/actions/events.ts +++ b/libs/remix-ui/run-tab/src/lib/actions/events.ts @@ -129,6 +129,12 @@ export const setupEvents = (plugin: RunTab, dispatch: React.Dispatch) => { dispatch(fetchAccountsListSuccess(accountsMap)) }) + plugin.on('injected-trustwallet', 'accountsChanged', (accounts: Array) => { + const accountsMap = {} + accounts.map(account => { accountsMap[account] = shortenAddress(account, '0')}) + dispatch(fetchAccountsListSuccess(accountsMap)) + }) + setInterval(() => { fillAccountsList(plugin, dispatch) updateInstanceBalance(plugin, dispatch)