on master help sign in
metamask: strange personal_sign ritual
1da4999fang
src/lib/authToken.ts+13−1
@@ -57,7 +57,19 @@ type GetAuthTokenArgs =
57 | DefaultAuthTokenArgs;
57 | DefaultAuthTokenArgs;
58
58
59const getMetamaskAuthToken = ({ address, web3 }: MetamaskAuthTokenArgs) => {
59const getMetamaskAuthToken = ({ address, web3 }: MetamaskAuthTokenArgs) => {
60+ if (window.ethereum) {
61+ //NOTE this doesn't _seem_ to be affected by #596,
62+ // but web3.eth.personal.sign hits it semi-reliably?
63+ // no idea what's going on, we should figure it out,
64+ // but we apply this bandaid to hopefully stop the bleeding.
65+ return window.ethereum.request({
66+ method: 'personal_sign',
67+ params: [MESSAGE, address],
68+ from: address,
69+ });
70+ } else {
60− return web3.eth.personal.sign(MESSAGE, address, '');
71+ return web3.eth.personal.sign(MESSAGE, address, '');
72+ }
61};
73};
62
74
63const getLedgerAuthToken = ({ walletHdPath }: LedgerAuthTokenArgs) => {
75const getLedgerAuthToken = ({ walletHdPath }: LedgerAuthTokenArgs) => {