From 29c5c8b60e3ef0d40b10eaa1a414433fa2e5a9b1 Mon Sep 17 00:00:00 2001 From: Alex Coseru Date: Thu, 14 Apr 2022 18:19:56 +0300 Subject: [PATCH] fix mm signature (#1420) * fix mm signature --- src/provider/Provider.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/provider/Provider.ts b/src/provider/Provider.ts index 9504a959..fd4ff118 100644 --- a/src/provider/Provider.ts +++ b/src/provider/Provider.ts @@ -109,14 +109,18 @@ export class Provider { public async signProviderRequest( web3: Web3, accountId: string, - message: string + message: string, + password?: string ): Promise { const consumerMessage = web3.utils.soliditySha3({ t: 'bytes', v: web3.utils.utf8ToHex(message) }) - const consumerSignature = await web3.eth.sign(consumerMessage, accountId) - return consumerSignature + const isMetaMask = + web3 && web3.currentProvider && (web3.currentProvider as any).isMetaMask + if (isMetaMask) + return await web3.eth.personal.sign(consumerMessage, accountId, password) + else return await web3.eth.sign(consumerMessage, accountId) } /** Encrypt data using the Provider's own symmetric key