Skip to content
This repository was archived by the owner on Mar 5, 2025. It is now read-only.

Commit 460c554

Browse files
authored
Merge pull request #2765 from ethereum/issue/2763
Setting of a provider after initiating a Web3 object without a provider fixed
2 parents 1872a87 + 0eb302d commit 460c554

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

packages/web3-core/src/AbstractWeb3Module.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,7 @@ export default class AbstractWeb3Module {
289289
*/
290290
isSameProvider(provider) {
291291
if (isObject(provider)) {
292-
if (this.currentProvider.constructor.name === provider.constructor.name) {
292+
if (this.currentProvider && this.currentProvider.constructor.name === provider.constructor.name) {
293293
return this.currentProvider.host === provider.host;
294294
}
295295

packages/web3-core/tests/src/AbstractWeb3ModuleTest.js

+12
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,18 @@ describe('AbstractWeb3ModuleTest', () => {
125125
expect(abstractWeb3Module.setProvider('http://localhost:8545')).toEqual(false);
126126
});
127127

128+
it('calls isSameProvider without a currentProvider set and returns false', () => {
129+
const provider = {
130+
constructor: {
131+
name: 'HttpProvider'
132+
},
133+
host: 'HOST1'
134+
};
135+
136+
abstractWeb3Module.setProvider(false);
137+
expect(abstractWeb3Module.isSameProvider(provider)).toEqual(false);
138+
});
139+
128140
it('calls isSameProvider and returns false', () => {
129141
const provider = {
130142
constructor: {

0 commit comments

Comments
 (0)