From e9846a19970b8a8b19c2ea13d60abeedb0914e88 Mon Sep 17 00:00:00 2001 From: Jack Works Date: Thu, 9 Dec 2021 14:14:52 +0800 Subject: [PATCH 1/3] Update helpers.js --- packages/web3-providers-ws/src/helpers.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/web3-providers-ws/src/helpers.js b/packages/web3-providers-ws/src/helpers.js index 25347e3f2ff..28750c43070 100644 --- a/packages/web3-providers-ws/src/helpers.js +++ b/packages/web3-providers-ws/src/helpers.js @@ -19,7 +19,7 @@ if (isNode || isRN) { helpers = require('url').parse; } } else { - _btoa = btoa.bind(window); + _btoa = btoa.bind(typeof globalThis === 'object' ? globalThis : self); helpers = function(url) { return new URL(url); }; From cd2881bb593c5bd778e7649b77b28da6106831d3 Mon Sep 17 00:00:00 2001 From: Jack Works Date: Fri, 10 Dec 2021 11:36:43 +0800 Subject: [PATCH 2/3] fix: remove more window use --- .../web3-core-requestmanager/src/givenProvider.js | 12 +++++++----- packages/web3-eth-accounts/src/index.js | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/packages/web3-core-requestmanager/src/givenProvider.js b/packages/web3-core-requestmanager/src/givenProvider.js index 2f57f1a51ce..f7fb84d6792 100644 --- a/packages/web3-core-requestmanager/src/givenProvider.js +++ b/packages/web3-core-requestmanager/src/givenProvider.js @@ -26,11 +26,13 @@ var givenProvider = null; // ADD GIVEN PROVIDER /* jshint ignore:start */ -var global; -try { - global = Function('return this')(); -} catch (e) { - global = window; +var global = typeof globalThis === 'object' ? globalThis : undefined; +if(!global) { + try { + global = Function('return this')(); + } catch (e) { + global = self; + } } // EIP-1193: window.ethereum diff --git a/packages/web3-eth-accounts/src/index.js b/packages/web3-eth-accounts/src/index.js index e1a44e4791b..1f2ec649b62 100644 --- a/packages/web3-eth-accounts/src/index.js +++ b/packages/web3-eth-accounts/src/index.js @@ -768,7 +768,7 @@ if (!storageAvailable('localStorage')) { function storageAvailable(type) { var storage; try { - storage = window[type]; + storage = self[type]; var x = '__storage_test__'; storage.setItem(x, x); storage.removeItem(x); From 04fdd6215a98bd3e77ba77bf7acd6372ed8a486f Mon Sep 17 00:00:00 2001 From: Jack Works Date: Tue, 14 Dec 2021 10:44:04 +0800 Subject: [PATCH 3/3] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 14c3d4c13f9..785969e781d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -492,3 +492,4 @@ Released with 1.0.0-beta.37 code base. ### Changed - Changed getFeeHistory first parameter type from `number` to `hex` according to the [spec](https://playground.open-rpc.org/?schemaUrl=https://raw.githubusercontent.com/ethereum/eth1.0-apis/assembled-spec/openrpc.json&uiSchema%5BappBar%5D%5Bui:splitView%5D=false&uiSchema%5BappBar%5D%5Bui:input%5D=false&uiSchema%5BappBar%5D%5Bui:examplesDropdown%5D=false) (#4529) + - Use globalThis to locate global object if possible (#4613)