From a4152f5e2f923bf23f85defb352647bd1f646b1b Mon Sep 17 00:00:00 2001 From: Josh Leonard Date: Tue, 29 Mar 2022 12:42:45 -0600 Subject: [PATCH] Merge pull request #12794 from brave/feature-add-isBrave-property-to-window-dot-ethereum feat: add `isBraveWallet` property to `window.ethereum` --- .../resources/brave_wallet_provider.js | 34 +++++++++++++++---- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/components/brave_wallet/resources/brave_wallet_provider.js b/components/brave_wallet/resources/brave_wallet_provider.js index 786102335288..154c808dcc04 100644 --- a/components/brave_wallet/resources/brave_wallet_provider.js +++ b/components/brave_wallet/resources/brave_wallet_provider.js @@ -9,13 +9,33 @@ } var EventEmitter = require('events') var BraveWeb3ProviderEventEmitter = new EventEmitter() - window.ethereum.on = BraveWeb3ProviderEventEmitter.on - window.ethereum.emit = BraveWeb3ProviderEventEmitter.emit - window.ethereum.removeListener = - BraveWeb3ProviderEventEmitter.removeListener - window.ethereum.removeAllListeners = - BraveWeb3ProviderEventEmitter.removeAllListeners - window.ethereum.isMetaMask = true + Object.defineProperties(window.ethereum, { + on: { + value: BraveWeb3ProviderEventEmitter.on, + writable: false + }, + emit: { + value: BraveWeb3ProviderEventEmitter.emit, + writable: false + }, + removeListener: { + value: BraveWeb3ProviderEventEmitter.removeListener, + writable: false + }, + removeAllListeners: { + value: BraveWeb3ProviderEventEmitter.removeAllListeners, + writable: false + }, + isMetaMask: { + value: true, + writable: false + }, + isBraveWallet: { + value: true, + writable: false + } + }) + Object.defineProperty(window, 'ethereum', { value: new Proxy(window.ethereum, { get: (...args) => {