vegaprotocol / vegawallet-desktop

Desktop application for Vega Protocol's wallet
MIT License
15 stars 12 forks source link

Implement work around for Sign Message issue #709

Closed pennyandrews closed 1 year ago

pennyandrews commented 1 year ago

There is an issue in the current mainnet version of core which prevents users signing messages. A fix has been created in core for this already https://github.com/vegaprotocol/vega/issues/8376 but it is unlikely to get deployed for a while. In the meantime we have identified a hacky frontend only workaround that keeps the sign message feature working in mainnet whilst we wait for the next core deployment.

The hacky fix is to basically pass the public key twice:

const params = {
          wallet,
          publicKey: pubKey,
          pubKey, // FIXME: public key has to be passed twice here because of the wallet api bug that accepts pubKey and not publicKey param (as per schema)
          encodedMessage: btoa(values.message),
        }

Admin doesn’t strip extra fields in payload hence the hack is possible and seems to work fine

https://github.com/vegaprotocol/vegawallet-desktop/assets/47143694/e1a417a5-b440-476a-94bd-a253d03efd74

When we know when the next mainnet deployment will be we, we have this ticket to remember to remove the hack in line with the proper fix going out.