Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug: Signature length issue? #1379

Closed
julien51 opened this issue Aug 22, 2024 · 1 comment
Closed

Bug: Signature length issue? #1379

julien51 opened this issue Aug 22, 2024 · 1 comment
Labels
type: bug Something isn't working

Comments

@julien51
Copy link

Describe the bug

The signature we get back after a personal_sign seems to be "too long"

Steps

Go to https://app.unlock-protocol.com/locks, click the Connect button, then select Coinbase Wallet. You should be able to connect. Our application requires the signature of a Siwe message to generate am auth token.
If you use the Coinbase Wallet extension, it works "as expected"... however if you don't have the extension installed, it should prompt you to use a Coinbase Smart Wallet and even though you are able to "sign" the SIWE message, our backend fails with an error about the size of the signature (it only fails when using the Smart Wallet... everything works as expected with the Coinbase Wallet Extension, or even the mobile app, as well as other wallets like MetaMask or Rainbow).

When diving deeper I found that indeed the provider returned by makeWeb3Provider when using a SmartWallet yields a string that is MUCH longer then other wallets.

Here is an example:

{
  message: 'localhost:3000 wants you to sign in with your Ethereum account:\n' +
    '0x2CcBc4B7613c48B5504FF6EC166153B3D12323fe\n' +
    '\n' +
    '\n' +
    'URI: http://localhost:3000\n' +
    'Version: 1\n' +
    'Chain ID: 1\n' +
    'Nonce: 3LFpuQb39ZFGpweOb\n' +
    'Issued At: 2024-08-22T15:29:38.061Z',
  signature: '0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000001e482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000ba5ed0c6aa8c49038f819e587e2633c4a9f428a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000e43ffba36f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000040e3af19f6c42f7e0ace58b7ecdc8513f7f149df9abcceceba2859f9d7edcb94ba3304ce06c21079925cf837d8ee935f971d14c7c04863a68811ad1fca940a7579000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000170000000000000000000000000000000000000000000000000000000000000001f6e698cd5bbe43f49e0af0b8a8120ca3b9083ac600232aaf50c489d382c5f5761dd49464ad80c1e19f3a5bccc638a98c74515ed1a7398b1ea1a4514ad1c363960000000000000000000000000000000000000000000000000000000000000025f198086b2db17256731bc456673b96bcef23f51d1fbacdd7c4379ef65465572f1d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008a7b2274797065223a22776562617574686e2e676574222c226368616c6c656e6765223a22574a4b6a526875314245547679627544716872367776744559456e42446e7571563877777a45664d756c77222c226f726967696e223a2268747470733a2f2f6b6579732e636f696e626173652e636f6d222c2263726f73734f726967696e223a66616c73657d000000000000000000000000000000000000000000006492649264926492649264926492649264926492649264926492649264926492'
}

and the same with MM:

{
  message: 'localhost:3000 wants you to sign in with your Ethereum account:\n' +
    '0x81Dd955D02D337DB81BA6c9C5F6213E647672052\n' +
    '\n' +
    '\n' +
    'URI: http://localhost:3000\n' +
    'Version: 1\n' +
    'Chain ID: 8453\n' +
    'Nonce: AJzCIRBiSmPGuHBos\n' +
    'Issued At: 2024-08-22T15:47:06.170Z',
  signature: '0xcebc781f179fc990522f5ec9ba27145c0e77b2afa25f689f5403a20f96b83583438e9a6c26101dab0c78ff10ad2add1085e62247d221d90619aafd6c8ad813381b'
}

Expected behavior

The signature returned should be much smaller!

Version

4.0.4

Additional info

No response

Desktop

No response

Smartphone

No response

@julien51 julien51 added the type: bug Something isn't working label Aug 22, 2024
@julien51
Copy link
Author

ok so it looks like this is the expected behavior when the Smart Wallet has not yet been deployed (see https://eips.ethereum.org/EIPS/eip-6492).

We just need support in this Siwe library!

Closing!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: bug Something isn't working
Development

No branches or pull requests

2 participants
@julien51 and others