Skip to content

Improve Solana chain detection #133

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

Merged
merged 1 commit into from
Apr 24, 2025
Merged

Improve Solana chain detection #133

merged 1 commit into from
Apr 24, 2025

Conversation

qrtp
Copy link
Collaborator

@qrtp qrtp commented Apr 24, 2025

Signing Solana txns from MagicEden currently fail due to chain validation. Update the Solana chain validation logic to accept the chain name generated in this context.

Logs from successful Tx signature using this build

main.c65196d5.js:10 [UP.io (staging)] Request processing {"method":"wallet_requestPermissions","params":[{"solana_accounts":{}}]}
main.c65196d5.js:10 [UP.io (staging)] Adding event listener requestPermissionsResponse
injected.js:8 [USO] Button detection aborting due to timeout.
main.c65196d5.js:10 [UP.io (staging)] Removing event listener requestPermissionsResponse
main.c65196d5.js:10 [UP.io (staging)] Request successful {"method":"wallet_requestPermissions","result":[{"account":{"address":"Cw22v4aCvUqckaMSJ8FF5saYA99SX59v6WQ2NkuRMbQj","networkId":"solana"},"parentCapability":"solana_accounts","date":1745500135874,"caveats":[{"name":"primaryAccountOnly","type":"limitResponseLength","value":1},{"name":"exposedAccounts","type":"filterResponse","value":["Cw22v4aCvUqckaMSJ8FF5saYA99SX59v6WQ2NkuRMbQj"]}]}]}
main.c65196d5.js:10 [UP.io (staging)] Request queued {"method":"solana_signMessage","params":["bWFnaWNlZGVuLnVzIHdhbnRzIHlvdSB0byBzaWduIGluIHdpdGggeW91ciBTb2xhbmEgYWNjb3VudDoKQ3cyMnY0YUN2VXFja2FNU0o4RkY1c2FZQTk5U1g1OXY2V1EyTmt1Uk1iUWoKCldlbGNvbWUgdG8gTWFnaWMgRWRlbi4gU2lnbmluZyBpcyB0aGUgb25seSB3YXkgd2UgY2FuIHRydWx5IGtub3cgdGhhdCB5b3UgYXJlIHRoZSBvd25lciBvZiB0aGUgd2FsbGV0IHlvdSBhcmUgY29ubmVjdGluZy4gU2lnbmluZyBpcyBhIHNhZmUsIGdhcy1sZXNzIHRyYW5zYWN0aW9uIHRoYXQgZG9lcyBub3QgaW4gYW55IHdheSBnaXZlIE1hZ2ljIEVkZW4gcGVybWlzc2lvbiB0byBwZXJmb3JtIGFueSB0cmFuc2FjdGlvbnMgd2l0aCB5b3VyIHdhbGxldC4KClVSSTogaHR0cHM6Ly9tYWdpY2VkZW4udXMvClZlcnNpb246IDEKTm9uY2U6IGE5NTVkZTIzMGQyZTQ0Yjk5NTlhODM2MmI1NzRkZDlmCklzc3VlZCBBdDogMjAyNS0wNC0yNFQxMzowODo1NS44OTJaClJlcXVlc3QgSUQ6IGMxMzE0YjViLWVjZTgtNGI0Zi1hODc5LTM4OTRkZGEzNjRlNA=="]}
main.c65196d5.js:10 [UP.io (staging)] Request processing {"method":"solana_signMessage","params":["bWFnaWNlZGVuLnVzIHdhbnRzIHlvdSB0byBzaWduIGluIHdpdGggeW91ciBTb2xhbmEgYWNjb3VudDoKQ3cyMnY0YUN2VXFja2FNU0o4RkY1c2FZQTk5U1g1OXY2V1EyTmt1Uk1iUWoKCldlbGNvbWUgdG8gTWFnaWMgRWRlbi4gU2lnbmluZyBpcyB0aGUgb25seSB3YXkgd2UgY2FuIHRydWx5IGtub3cgdGhhdCB5b3UgYXJlIHRoZSBvd25lciBvZiB0aGUgd2FsbGV0IHlvdSBhcmUgY29ubmVjdGluZy4gU2lnbmluZyBpcyBhIHNhZmUsIGdhcy1sZXNzIHRyYW5zYWN0aW9uIHRoYXQgZG9lcyBub3QgaW4gYW55IHdheSBnaXZlIE1hZ2ljIEVkZW4gcGVybWlzc2lvbiB0byBwZXJmb3JtIGFueSB0cmFuc2FjdGlvbnMgd2l0aCB5b3VyIHdhbGxldC4KClVSSTogaHR0cHM6Ly9tYWdpY2VkZW4udXMvClZlcnNpb246IDEKTm9uY2U6IGE5NTVkZTIzMGQyZTQ0Yjk5NTlhODM2MmI1NzRkZDlmCklzc3VlZCBBdDogMjAyNS0wNC0yNFQxMzowODo1NS44OTJaClJlcXVlc3QgSUQ6IGMxMzE0YjViLWVjZTgtNGI0Zi1hODc5LTM4OTRkZGEzNjRlNA=="]}
main.c65196d5.js:10 [UP.io (staging)] Adding event listener signSolanaMessageResponse
10Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
4c47008a-eda744a134321733.js:1 [Violation] 'requestAnimationFrame' handler took 280ms
main.c65196d5.js:10 [UP.io (staging)] Removing event listener signSolanaMessageResponse
main.c65196d5.js:10 [UP.io (staging)] Request successful {"method":"solana_signMessage","result":"EF05ITF/AJ8AosmY5JlRUv1j3ZqFr19FsXU83yL3XvFNWpFogoI9TmEOheBouFIVwRiJd/hh+MFO94gjCHebDQ=="}
main.c65196d5.js:10 [UP.io (staging)] Request queued {"method":"solana_signTransaction","params":["KBbV5aChvB8yiHsX42ZDqvmYEpBMeT1EYHUfx6Dx1As7WrfmoycSu6FMupFrEzSGbujC3PicQbtFrJUb2QkgsYAvdFSsG1cJNKV7WWSyNEqbCTiXa11bGygyh2i3rbNWNskmW3wTi7xbXH9Umi521QL7RMaZLwm12dp4Szy7Tz9wdaDgdwK9Tyk9eUQWysyApqQCELDzkkwzbgzVx7sraGQkSqCWSRwhzw5ZN8ccYn4NYEJN9fSSZrPWUSAwt8tuDZyut1NPe89ZptxNkeDzqMDPCaaFbMJDTR2Tnb9FyzMKhtvYPxMySDgxHT8Ua1a82jfQeeBK5qqkMknkamY8u28HRRE1zAr1MTP9dijTAsZZyiXnXPASTxvPbRxw3gP3zXq7kvW9ehsGcDpbptF9AdtUqr5fq7QinhZxD3tGbubteUsdFydx6uFArffwWEYfiHDysZ7HXdtzNQdkVPa9SJkJnLSjwEUjJipTi2AaEkrNMktMxVwpHH7vtBEKmJz9WFnU8ZD5ZBiknPjyp51G5dHX2E2ANqfMqYSvopDVA7h8BQ3Wz6yQCh69uSVEG9nT8DEzQ5WWrP6bJRyeUgfbFSknCjmwhvmHSzTjGLUyjjn3Nwc7qvVFc4CrxCSJkEh6qPoG6yX8uzDxyXypbXuDxWR2NMcxRKCFWmfwU1heuWz7LuynbZxUmoZjjaSGDKTYUR5aZ1zLjn47XhWvgjBb9dRk5hXomSyxE48w4qtb8cYd4ZJv4BrKY8D2cShCXD6MjjBbks7h7nThkidunrP4NirPHoB3sisPyUp2YyutiPrMsEKzPRsmEyyAadkYgC24ZhFvCggH4Kbri2tenoQGH5RSQEz72wyqLFvBv3euZ3kbGRxqHcviLrz7LSpfiwTDnUJNVuWKiL5e1pq14eufx47YbmuwyxFLaJnyxkZphB79YaCcNjy5H1GEr5MoWp1E1EYURJqazMLb1i",false]}
main.c65196d5.js:10 [UP.io (staging)] Request processing {"method":"solana_signTransaction","params":["KBbV5aChvB8yiHsX42ZDqvmYEpBMeT1EYHUfx6Dx1As7WrfmoycSu6FMupFrEzSGbujC3PicQbtFrJUb2QkgsYAvdFSsG1cJNKV7WWSyNEqbCTiXa11bGygyh2i3rbNWNskmW3wTi7xbXH9Umi521QL7RMaZLwm12dp4Szy7Tz9wdaDgdwK9Tyk9eUQWysyApqQCELDzkkwzbgzVx7sraGQkSqCWSRwhzw5ZN8ccYn4NYEJN9fSSZrPWUSAwt8tuDZyut1NPe89ZptxNkeDzqMDPCaaFbMJDTR2Tnb9FyzMKhtvYPxMySDgxHT8Ua1a82jfQeeBK5qqkMknkamY8u28HRRE1zAr1MTP9dijTAsZZyiXnXPASTxvPbRxw3gP3zXq7kvW9ehsGcDpbptF9AdtUqr5fq7QinhZxD3tGbubteUsdFydx6uFArffwWEYfiHDysZ7HXdtzNQdkVPa9SJkJnLSjwEUjJipTi2AaEkrNMktMxVwpHH7vtBEKmJz9WFnU8ZD5ZBiknPjyp51G5dHX2E2ANqfMqYSvopDVA7h8BQ3Wz6yQCh69uSVEG9nT8DEzQ5WWrP6bJRyeUgfbFSknCjmwhvmHSzTjGLUyjjn3Nwc7qvVFc4CrxCSJkEh6qPoG6yX8uzDxyXypbXuDxWR2NMcxRKCFWmfwU1heuWz7LuynbZxUmoZjjaSGDKTYUR5aZ1zLjn47XhWvgjBb9dRk5hXomSyxE48w4qtb8cYd4ZJv4BrKY8D2cShCXD6MjjBbks7h7nThkidunrP4NirPHoB3sisPyUp2YyutiPrMsEKzPRsmEyyAadkYgC24ZhFvCggH4Kbri2tenoQGH5RSQEz72wyqLFvBv3euZ3kbGRxqHcviLrz7LSpfiwTDnUJNVuWKiL5e1pq14eufx47YbmuwyxFLaJnyxkZphB79YaCcNjy5H1GEr5MoWp1E1EYURJqazMLb1i",false]}
main.c65196d5.js:10 [UP.io (staging)] Adding event listener signSolanaTransactionResponse
injected.js:8 [USO] Button detection aborting due to timeout.
main.c65196d5.js:10 [UP.io (staging)] Removing event listener signSolanaTransactionResponse
main.c65196d5.js:10 [UP.io (staging)] Request successful {"method":"solana_signTransaction","result":"UDzxuttfc4rraRDyaDF3nkFjcHaA3wPd4hizQAov5AXru8u6K7T2fLtvvPv1TrCM1uwXsGyH3NM87G9LvxN5DCFmXvAjTDiNDehzaTSe4v2brtJHT56mQzqFphBpwBXgudWZr9rV4vMkGVBBR25Mdi3qoWVB6NXWL2gJ93uRGUvTwK3f2xFRvUxtuunvsdx9mypm7nnCdY9EdHacB4SUFSeYrNYjABaQCUSSHyNjjYPKL9ggdLqrf1q4TspYwDndL4Z99G327jLJ1dFX9MLdTi6YSqReoJzcK4kqBJ2wqSXh9PWNTwebeYBBkYncqnhMbLiWQ48f8PHuTaViLmWGiE2HWcRo8czJr8NFr558rGQaE8mST3YGjVH4dPzVz8CfjCxfke8PMSy8myrSqk1EjkA3LbcVBx85FDR8bkJgajAZPYY3oYMCTtoLxjeVyZK5C6WtjncaWKACY6eFZvTZanvPFcQ3nNQXYdRk32J2AfvGrDwb5RyLHAB6kuDMk1MyiB7t9joo46w4yBuKQ9PRFVZjXccQSckfEQLpkbMkgioWhAUWR3vMoLrwgYTWbE9aqXyzZmddtGTtKbeFEkLmtc2w1uFDiVi6cAVGn9j5egoZGW58UCe5xfX8wDDPHVyXE4wRutxq8nKz1adJfdRcsqCXKhXZnNsYx4FY7wtvTUo2Vyp75PkTyKjkxLXb2y3sXPR8bfcJ4ZqArWgWkB8fkF58SF5a3fHQ5sUgPR25JUYQ811XBKidR2y2TPChPVmkVvBNriZHREqURCWgpn3mAXvczpCb8NcTmyB125C6tov594YpwHKBmSwrLsHHGdBwy61RQ3Ms4WSQdJ3d5au5tYC5iJQCa1uGTVZmGbSGVYem4sEb8eMcs4j7gFkxEd1E2hxHDjqKDg19fvxW23mjWNkgG2tfWvXV8JVgVGDyP6keSUDM5hHUeRA9sdtQjuJGnkmwyanrtrbEn4"}

@selfagency
Copy link

🎉 Snyk checks have passed. No issues have been found so far.

security/snyk check is complete. No issues have been found. (View Details)

@qrtp qrtp requested a review from Copilot April 24, 2025 13:18
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR improves Solana chain detection to address MagicEden transaction signing failures by updating the chain validation logic.

  • Updated the isSolanaChain validation to also accept chain strings starting with "solana".
  • Enhanced the error message in the wallet provider by including the actual chain value in the thrown error.
  • Updated CHANGELOG.md to document the MagicEden transaction signing fix.

Reviewed Changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated 1 comment.

File Description
src/types/solana/chains.ts Modified chain validation logic
src/scripts/solanaWalletProvider/wallet.ts Improved error message for invalid chain values
CHANGELOG.md Documented the MagicEden signing bug fix
Files not reviewed (1)
  • package.json: Language not supported

Copy link

🎉 All your tests were successful!

@qrtp qrtp merged commit bbb7484 into master Apr 24, 2025
2 checks passed
@qrtp qrtp deleted the qrtp/UDM-286/me-tx-signing branch April 24, 2025 13:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants