Skip to content

Commit a128250

Browse files
lukezhangstudioenlight
authored andcommitted
correctly creates metamask signer based on given web3 instance
1 parent 3631310 commit a128250

File tree

2 files changed

+5
-6
lines changed

2 files changed

+5
-6
lines changed

src/dpos-user.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ export class DPOSUser {
8484
loomAddress: string,
8585
version?: GatewayVersion
8686
): Promise<DPOSUser> {
87-
const wallet = getMetamaskSigner()
87+
const wallet = getMetamaskSigner(web3.currentProvider)
8888
return DPOSUser.createUserAsync(
8989
wallet,
9090
dappchainEndpoint,
@@ -104,7 +104,7 @@ export class DPOSUser {
104104
gatewayAddress: string,
105105
loomAddress: string
106106
): Promise<DPOSUser> {
107-
const wallet = getMetamaskSigner()
107+
const wallet = getMetamaskSigner(web3.currentProvider)
108108

109109
const { client, address } = await createDefaultEthSignClientAsync(
110110
dappchainKey,

src/solidity-helpers.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,10 @@ export interface IEthereumSigner {
1818
/**
1919
* Returns the Metamask signer from web3 current provider
2020
*/
21-
export function getMetamaskSigner(): ethers.Signer {
21+
export function getMetamaskSigner(provider: any): ethers.Signer {
2222
// HACK: force personal sign by pretending to be metamask no matter what the web3 provider is
23-
;(web3.currentProvider as any).isMetaMask = true
24-
const provider = new ethers.providers.Web3Provider(web3.currentProvider)
25-
return provider.getSigner()
23+
provider.isMetaMask = true
24+
return new ethers.providers.Web3Provider(provider).getSigner()
2625
}
2726

2827
/**

0 commit comments

Comments
 (0)