Skip to content

Commit 03f7e19

Browse files
committed
fix: signer
1 parent 4bfe2b6 commit 03f7e19

File tree

2 files changed

+16
-15
lines changed

2 files changed

+16
-15
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@maticnetwork/maticjs-ethers",
3-
"version": "1.0.3",
3+
"version": "1.1.0",
44
"description": "ethers plugin for matic.js",
55
"main": "dist/npm.export.js",
66
"types": "dist/ts/index.d.ts",

src/ethers/web3_client.ts

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,29 +6,28 @@ import { ethBlockToMaticBlock, ethReceiptToMaticReceipt, ethTxToMaticTx } from "
66

77
type ETHER_PROVIDER = providers.JsonRpcProvider;
88
type ETHER_SIGNER = providers.JsonRpcSigner;
9+
type WEB3_PROVIDER = providers.Web3Provider;
910

1011
export class EtherWeb3Client extends BaseWeb3Client {
1112
name = 'ETHER';
1213
provider: ETHER_PROVIDER;
1314
signer: ETHER_SIGNER;
1415

15-
constructor(provider: ETHER_PROVIDER | Wallet, logger) {
16+
constructor(provider: ETHER_PROVIDER | Wallet | WEB3_PROVIDER, logger) {
1617
super(logger);
17-
if ((provider as ETHER_PROVIDER)._isProvider) {
18-
this.provider = provider as ETHER_PROVIDER;
19-
this.signer = this.provider.getSigner();
20-
if (!this.signer || !this.signer._address) {
21-
this.signer = (provider as any);
22-
}
23-
}
24-
else {
25-
this.signer = (provider as any);
26-
this.provider = ((provider as Wallet).provider) as any;
18+
19+
if (provider instanceof ethers.providers.Web3Provider) {
20+
this.provider = provider;
21+
this.signer = provider.getSigner();
22+
} else if (provider instanceof ethers.providers.JsonRpcProvider) {
23+
this.provider = provider;
24+
this.signer = provider as any;
25+
} else {
26+
this.signer = provider as any;
27+
this.provider = provider.provider || provider as any;
2728
}
2829
}
2930

30-
31-
3231
getBlock(blockHashOrBlockNumber) {
3332
return this.provider.getBlock(blockHashOrBlockNumber).then(block => {
3433
return block as any;
@@ -57,7 +56,9 @@ export class EtherWeb3Client extends BaseWeb3Client {
5756

5857

5958
getChainId() {
60-
return this.signer.getChainId();
59+
return this.provider.getNetwork().then(function (res) {
60+
return res.chainId;
61+
});
6162
}
6263

6364
getBalance(address) {

0 commit comments

Comments
 (0)