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

Clear out peerId on disconnect to prevent sending messages to a dead topic #682

Merged
merged 1 commit into from
Jan 5, 2022

Conversation

welps
Copy link

@welps welps commented Dec 29, 2021

This fixes a bug that's very problematic on OpenSea where disconnecting -> connecting through QR code flow again will never result in a working session unless you clear out application cache. I am able to reproduce this in a local setup as well.

Steps to reproduce bug on OpenSea:

  1. Connect to OpenSea via walletconnect
  2. Do anything that requires a prompt to sign to confirm working behavior
  3. Logout of OpenSea or disconnect from walletconnect on user client (I tested with Rainbow)
  4. Connect to OpenSea via walletconnect
  5. Do anything that requires a prompt to sign for confirm working behavior. It will not work.

If you look at the websocket traffic, you'll see that it is publishing new events to the old peerId. I've pasted example data below where you can see the peerId (from perspective of OpenSea) on the first session 302c451f-d12c-4c0a-af9c-e26780ae2831 is reused on the second session instead of 8862c7ff-6ec0-45a1-b7ff-278f608159e5.

From Rainbow - Initial Session:

{
    "connected": true,
    "accounts": [
        "0x35E0Dedb252C5dF8110125fA24AdA738dC573Fc5"
    ],
    "chainId": 1,
    "bridge": "https://0.bridge.walletconnect.org",
    "key": "d0706229a1d34fe2c673efc0509823b719881459cbfa4d47a86588b5a101453f",
    "clientId": "302c451f-d12c-4c0a-af9c-e26780ae2831",
    "clientMeta": {
        "description": "Rainbow makes exploring Ethereum fun and accessible 🌈",
        "icons": [
            "https://avatars2.githubusercontent.com/u/48327834?s=200&v=4"
        ],
        "name": "🌈 Rainbow",
        "ssl": true,
        "url": "https://rainbow.me"
    },
    "peerId": "16191c88-a5d8-4f76-bda1-01121bacd8bb",
    "peerMeta": {
        "description": "A peer-to-peer marketplace for NFTs, rare digital items and crypto collectibles. Buy, sell, auction, and discover CryptoKitties, Decentraland, Gods Unchained cards, blockchain game items, and more. Over 100,000 collectibles on sale now!",
        "url": "https://opensea.io",
        "icons": [
            "https://opensea.io/static/images/favicon/180x180.png",
            "https://opensea.io/static/images/favicon/32x32.png",
            "https://opensea.io/static/images/favicon/16x16.png",
            "https://opensea.io/static/images/favicon/favicon.ico"
        ],
        "name": "OpenSea"
    },
    "handshakeId": 1640747804255645,
    "handshakeTopic": "42262267-a383-493e-83a1-575e1eae8bf7"
}

OpenSea WalletConnect Traffic - Initial Session

{"topic":"42262267-a383-493e-83a1-575e1eae8bf7","type":"pub","payload":"{\"data\":\"605554416ce33e20980af2e0300f4e0bcc81c741935b61226564491ce5d98eeb69163e2df54efd37a30dfcc306d2331add0c14376b13b0da45f9ede30c7badc838f0d8e9824aacd03753adcb1283692259201ce6dbabb08222808edef95be986db3d664b8995f163b81fc00db12068a696d056550db2ff12cdc5524de9cbba7fee5a5d10390a76f907746bcae6ff92a1b602b19218db142f0df8d4762e617af32e6ea75d85bbb34c9932282e30941e0b4e26f7f90ff8fc99e0d102514d5a766e2eb38ac2c4f074c55d9ed9747c1321dbc8004b81558dcf517c9738658f65f335d2dbb870296478fef4161999a993210f26b4f6aba6ce5e3bb112fe3f3958f74ecc7aaefc3f6fba0b1bf58d79bec8ee19c04ee94a197a51597271270258a80252202ec853fba719765494c73de3259926a1aadb7a56e1e55532f48577a3eb622d4d9c3a321c67e852fa9d5a1a516a7c430b76e4353dd09041907f18b8718415134deacd807763bea175ee2e56fcafca7bbc10f2d07fb7954d49e5abbd1407bec7db8d3352ee53fde627c39919010efa9f96349995b3c96860feb31d351186d5153241e15d1166cf7faaf30fee8f1f072785eb468bf8a7c0a17a557e279867eb40b55b9dcb36c3d174627bf685373404f4073ea8609d86f4de23eed15a3b9df10e549eedc1845ec1eb28ece1f096b871fa565b69df003fbee55d4ca26251bac233c3e2b6a0689da9b9a03f22cc09caa528765b713075c3dae6a4f92594fa80a6ac84e33903e7c506bfa50c0c0e52fbd680fea58871e2bf482eecccf1d69f6e364eae616805593708ff3ca5094008ef73812a988c0ec7da916faee5c265e3071a3627959c16b21284e36b361e0c35a48041640b0af54462db38fbb831703c9fab4b4ad93c2246ed25e0829e55cd956f6351b49bb89351274f38010ace97af6d12892957e4b83d8733954d8424135096e579\",\"hmac\":\"84e1919222b402d3bded7d3a6665a1e8486b6fd75cc1f1e2f01c2062a866c60b\",\"iv\":\"9b8bcca824053a156bdb1cb2b0ff63d4\"}","silent":true}	1601	
22:16:44.596
{"topic":"16191c88-a5d8-4f76-bda1-01121bacd8bb","type":"sub","payload":"","silent":true}	88	
22:16:44.596
{"topic":"16191c88-a5d8-4f76-bda1-01121bacd8bb","type":"pub","payload":"{\"data\":\"00b7da8dc60d2aa5d78cf37a806baeaa28a1bff62b6261062b9fc001761a479c1856784804f8c08485122c2520a0632f07e756795a9f2e1730401574115560e4d209773eeadba13085350bfb57a4c1389ddfe11922b35415d11b24059c4a7c475a0cb5d646fbd4a705739de1d2cc30c59413bd6059a91ceaf5a4defe2c352a4146297317898a9217d722041f2d6d1deaa549246ef29ab3b6b75d328d07f84bafe598882b4d527913b4096c2a986b129e294b1ddb07e35e8545fc867241d674c270569a0d71061f9f5fca84bbe31348c90a7451fd95fa1010ca185d527a3245821753648b2254dd82e7db299e96bdc59de25236fdd468550a7fa3bb94b8c710e16e1cbd1df69708d6f87fceffdebe426324a93fdca48c0b9f7175f3a66a19c0ec2cab8dbf8c16e2463b40fe16280e91f1219f6e50170a6fdd24e21ab968c258252c45809a3bf3f3c988bcbf392b01ebd36663ab763ff419e1a8219e7d0200e8275c530536ec0131b9752b84c73893f51beae8c22ba99652ade7d704c88eb0a60ca0f6921ab9b5c1138f1b31ec97f704c8208a6db2da4bab19473bcc57ed0a28aa279201d09a8d717d7eaf7de44641303a\",\"hmac\":\"8276d2ccfc5fed711471a9ab6cfc566f548a492631d77da2658b2bd8cf73382b\",\"iv\":\"0fbd966c0aba55014ce4ebc37f9c051f\"}","silent":true}	1089	
22:17:45.838
{"topic":"16191c88-a5d8-4f76-bda1-01121bacd8bb","type":"ack","payload":"","silent":true}	88	
22:17:45.838
{"topic":"302c451f-d12c-4c0a-af9c-e26780ae2831","type":"pub","payload":"{\"data\":\"48d4cea074fa0a2f435adeaee78d0c97506d3d9e3cfa3484828f77167805c5e713fab73d1cbe46f159c413853af7323fb8ccb07be3d16a92459df1085597e440e2aebcb949da7ab1c14dda2085b3923823fe376dcc6162d53f560942e10eb73f097f631300fec5705a330b2917005591334f78ab7307a2a7459564e1d99a5861303006f212caf03b1d6d017fb6fa9728eeaa34b08789f2f5e0b3e85a08e7f064bdc38e0eb0d9b4fbd8977fc0d7d765576e922afa5366e22c5032eacb4e0e376b2df8ee5daa0fa64564c14735b1c45418a450665e399713d26833f9b66c7f87aabee405d05cd4e5933a2b7a138171b7eb05525c811a75bb0704b05b4c847751d3a4c6aed1fa0369ab9b8837e019e7efe691a5e3d64712d9a4d4468a783c1cb6b210c0442cf7983d491f12ee69c6195eed283f181921c5853c4edcd64def608651d89cd7df65a6bb9d92eb531d0c22e3e8c1b6bc9940dbed5421d37fc3934d223acc085748d5b343b7c80c3f6bb0f7ba620968d7438414d50739c164b591514471f460ab1e79fa754e1ddc00ab97af5b73f5042dadb8814046fcad4a53a5c797333da13541c091b4158ba1ad8cacc747ae2f40cb295ade2447217102285a79b100f310afc089bbb46c9e8d146fe3a7772b051f7e8d3719d07b16f691d23d762dfe50c0f7053bffdd7fe3976e14283e2ab46808bab3782f76cdf046a90d63c6972ebf35feef2102214047bc07a8bece769490724368182e8b00d197492606dbb8ad3153421f6761f66def0a4e16e961c9f5067f56d10ccefa258064862ccd3d705279ab2f3ce2a6afc3136e4e6c2b9deb1faf7f2d36deca1de084b4e4169991622cd6bb7dc866637a22a8cfca017a9b218e1f624da2009aa30985a379452e86232faaa42037571cff42f7fcaa67447cf35dc38ba64cdc124920ba73f95171b9262e930622d47eb1e55f9bc2dd057e96f6d75766c50c62866cd7e16adb0782ac840a966faec42624d33293abe5e66d5d18c9f9fa8e5c9f796bc462201413a1d7481e77e7b221706be81742662c94af9211b6\",\"hmac\":\"0e51330b702874795b35f0b7daf6d3bf9bd6bfa44baa27960b912a39a4edfd5c\",\"iv\":\"b58421632ea027e47b787e93474f6370\"}","silent":false}	1730	
22:18:35.693
{"topic":"16191c88-a5d8-4f76-bda1-01121bacd8bb","type":"pub","payload":"{\"data\":\"e97d16c686cbe292b2caff538c90eb7aafd057db3a36e625abbc241de9530406d029e1d99b5475f4ef16bcc5492e5058c0342f90c959ad71cdbf420bcfa4ea44281f3d009210256eef6c884292096c596bf53830816bc4d2b42d930f43af35be2b6e4a9782d65eb296d1bff7efac0681\",\"hmac\":\"e4343d63683ca4f4e1f31ed50e4a5af5492167133900f77445ab66746e41a192\",\"iv\":\"1c891653fae60dde31a7cbdd3e436352\"}","silent":true}	449	
22:19:02.397
{"topic":"16191c88-a5d8-4f76-bda1-01121bacd8bb","type":"ack","payload":"","silent":true}	88	
22:19:02.397

From Rainbow - Second Session (after disconnect):

{
    "connected": true,
    "accounts": [
        "0x35E0Dedb252C5dF8110125fA24AdA738dC573Fc5"
    ],
    "chainId": 1,
    "bridge": "https://0.bridge.walletconnect.org",
    "key": "6de8dc7dc631ad7798f80f48ac85854397c2c3e2d789e9c3a4b9520f3b81a0f2",
    "clientId": "8862c7ff-6ec0-45a1-b7ff-278f608159e5",
    "clientMeta": {
        "description": "Rainbow makes exploring Ethereum fun and accessible 🌈",
        "icons": [
            "https://avatars2.githubusercontent.com/u/48327834?s=200&v=4"
        ],
        "name": "🌈 Rainbow",
        "ssl": true,
        "url": "https://rainbow.me"
    },
    "peerId": "16191c88-a5d8-4f76-bda1-01121bacd8bb",
    "peerMeta": {
        "description": "A peer-to-peer marketplace for NFTs, rare digital items and crypto collectibles. Buy, sell, auction, and discover CryptoKitties, Decentraland, Gods Unchained cards, blockchain game items, and more. Over 100,000 collectibles on sale now!",
        "url": "https://opensea.io",
        "icons": [
            "https://opensea.io/static/images/favicon/180x180.png",
            "https://opensea.io/static/images/favicon/32x32.png",
            "https://opensea.io/static/images/favicon/16x16.png",
            "https://opensea.io/static/images/favicon/favicon.ico"
        ],
        "name": "OpenSea"
    },
    "handshakeId": 1640747960693319,
    "handshakeTopic": "c3d861b0-7c3f-4110-ab28-9bebffe413c4"
}

OpenSea WalletConnect Traffic - Second Session (after disconnect):

{"topic":"c3d861b0-7c3f-4110-ab28-9bebffe413c4","type":"pub","payload":"{\"data\":\"ac8176f407a1b237d46062fdd34a9238dcaf475c8f1f2fbe4355776c32da3ab9aa518c8f0218de25f980d2b26deb81ba189ea079582afaf9773bd87779fde5d3445f7ce91ee008c652f0021281bfc3e2971689f5af546b6adb2930273ae6755143f867c9f6b2efb9a0f677b3ead4e1caa76dc2d9778ee93f0c8ebd5a498462263ff84c7931c711925b1c468704eb1b24e9e8b78a863a71ae8cec90e01556cce127bb0d4051fd81a1ed8397d5db09936c94e74e78ff2b8c388a533e8a7077e442ea5a3c43a5a9b71d37687f97531083be913388fa614b84694f49b5d3a1db3a61061736c0f3335a522f0f55ca2f7238a57c42fa31b59b37a963d2b67191e2c0a46bbcd1f5fefc08159a0743706d433a3d730c91c97540ec8d71232de77d44e376268a01eb7d7ce7955c675a425abe6108bc99db560d336e34cd8c11ecf10633c3172ddfa3987c404dc48c57b6110177022e27ce0e6dd2a145a751db2deeb4238d30553f7224bb149bf1108975f41de1b3f02f678f2d4bda90e0ae4d7771b895f1c3ff84947b2c97219e8c283f23826e8a29d22fa90c0680f4039ad10d9558cf5700cd2f2df2377f448a23768ae2f969694c81fa4989c0141d4fde9c955bb06c683784d39897615e0de706cff5a5128f0ab86626657ca1cd3e29e15147c4fbe7f4f3b3d1686119ce8b19bd97672d06a41afb4d48484545152315baa57188228de7983c4dc9674a3a1b9dd7fd6a2970eee924718fd26872b4f5463db0c5f20926bc33ea8932828e64db42fb5b792c759b4c98babd0d6fafa0d600048e6ab2fb6a35f4d216a189e1527d466374619f25aadf1dc5d8fc1309e16a267d5bdc2344f8df0cea3341799f2a0a9e84a3d74f1cd9e5df6c1453e551cc803f25616c2ae57012bd5685303cfa55c53851b5a9d02e44fbb8479dc2404493995f961445eb273e680bda6f96ec7db16c48638c5dfb237ecf\",\"hmac\":\"e85be8342a79634ba58ace430967735123a9ae67881a29117a5b5bdab43023fe\",\"iv\":\"23840269bb6265c34a83b019d1b48ee9\"}","silent":true}	1601	
22:19:21.048
{"topic":"16191c88-a5d8-4f76-bda1-01121bacd8bb","type":"sub","payload":"","silent":true}	88	
22:19:21.048
{"topic":"16191c88-a5d8-4f76-bda1-01121bacd8bb","type":"pub","payload":"{\"data\":\"d0cfe52d73550c811e6f788b16eca06fe687c4d5d39bb93dcbb98fd8d8e0289139ec50037427be37de7601a30be8fdc51f1fb30d26ff185646cb9680d463e1ae4d81e0ed08c1760a01915a537cc1be6ef557b83bca4c08d493682c143acfdb4706e37f16cd8c78a3ce0b0c4280e2e7d3e860dad6129e4536bf475d57171b492b4ed0859ed90295bceaf570b72c5f10545a7503658f908b705aee92eb5b9f80d3\",\"hmac\":\"c8f742f1ac6a1b40ee7ab17b62edb68f701af56736b021635661067db915ec4b\",\"iv\":\"3da94dbf79c6de4f4df7a3e4714674b3\"}","silent":true}	545	
22:19:21.140
{"topic":"16191c88-a5d8-4f76-bda1-01121bacd8bb","type":"ack","payload":"","silent":true}	88	
22:19:21.140
{"topic":"16191c88-a5d8-4f76-bda1-01121bacd8bb","type":"pub","payload":"{\"data\":\"fed03a5824fe3913f722e58f04db000f9331114ab40c9a73b9b6db753d36cf5ebd5a5f4f9e597fb0420c11d53a5f1ee2e33501e7636bb06ac0c6121a9cd6ab5e0b9195e902e17f9f6735b759493621d9a208eb27e27ce82bb1a80715666112e7c92ea592e60b3ee0f82d0f41f73c7c9315a441d82e843f6f00f3f0c27da4cc3cb11ba95647f6418c9cbcb994545a1cfd88610bad7456401d1bd7e408bd0dd7f2651c2077d7cd51793041902c59d62e2ae2ae81401df6c206e9f1b648c7692b37f4111ebb6b8153150fca09899134b5151b5bb129a38e512ac0f024e7e8cb7cd2431fc873c4399343ffd8d8f76188a4483e54d3f3cdba2e25fcb2d7b1d36b36066ca86369c25b2aca4ea1690650f7641c02069d462bb5f57f4803f2e88bc8a44081e560a1c7c195e17182c115e4965c8b2985b95f91f652ed6d14735b9dd5645b4e9948c37f2ae35c74e25ce25b908116f77e13e557a8729fb87207ddb8adc81240739f865e2f8f72999ed9410f6bea38bca914db7642eacd52d10e81beffa8cfa19e957df16e64a5f02a12045389002c9e72e34dc841a5df57a54a1562411419904f1734b0a374922c33688b797ffbe4\",\"hmac\":\"7c7b193f644acee5642e281732b03c44f92cf2d083740b4fa1fc7ee4dabed3aa\",\"iv\":\"3d574f261763f798881dfe5538eb4396\"}","silent":true}	1089	
22:19:27.553
{"topic":"16191c88-a5d8-4f76-bda1-01121bacd8bb","type":"ack","payload":"","silent":true}	88	
22:19:27.553
{"topic":"302c451f-d12c-4c0a-af9c-e26780ae2831","type":"pub","payload":"{\"data\":\"bac960d5e26b0244b15d82e11fb8b956e63e9736ab4ab1eb0143602c049189f4779e97214cd8630823fe12545d34caf65a60c477ccc0ba9a470f3e38ef12bcf834e1f4c8f8704f915b276724022480eb8fd636ee396678cdb54cd429deb27970c41ee5afd1bf262e4ab8f9d303d380cfd992b865964a89c0f8c38c4c94a1a23867a8cf2045b79044be20bf11cb8f215e589eaee96b5930f7fd136568ec090acf9cd36a23c58ddd9af4d3499760957118ebd167bb13b062bb122693989a66df652c83c92cb2c1d0f6ab9355ea7105d1eed76110302421581c6603ad5fd52d9a93bf75770bdd530b4be586c418ce687d070e5c7416196c33d4668fa68ffad9a3c04940d6db166b3dfc5d7d935413b320a29742204413835da4afe0be28fe104f387fd05e3ae022d603702441f4d6c2776add207a00a299eacd380ff8b939b98456ab6dd8609c619bfcea3e3f3e94e793869647b36d63e40dd3512124a6be0c782cd844427a45ce393200740cb12726c8dd4fac66928bb40725783ef5eff2a9a7bd602b42356807e4549cc7311045ae1bb63fd244956ed72d06a9e4448b2dbb1e352b4131083916879de31c7de73ec717cc0b8f67f153822242cc8bbaacb1a289c7f0e1df6f179ecfd5506d706441674fc2c0b47dadb7f6ee662ef6b6ae3c39822f9ed42866ed4ce6a8cabd7389813af224a96fc804b65e69cd8449c76c8eddca2bb34d68390cd207e6f347143b3626ab80bd3cebeb07acea6696dad0f346392aeb3cf4f0d26bfb18816ee9563c216dfe25214e094c4cfe37294935a153c57a5eb690cd26fa51503aaeac9aa734ed2ccd4bcf9b5821a8b54ccc7fa7939d482c671f7e70d314b9521020584dc654408914c179cf218dd7ff9f3f53f889d30ef8f7c65a885eef4381feb3fe4d29210637293a641e5c601123c952e77ad358be4f88966e36356fcc1ad0a9cccb22a9aa3f6aa56a5bc179e3f10eb7d0fe9ff6cb07d9bf47f0affb9cc0c4da706b8e3172df8a6019d042cf87005d403cca2c9867fa07afd96265d0a1423d260be4822ea10b9876\",\"hmac\":\"46d89f4572f6564aa20cf42947120002c98ac1ae48055ebeebdc0d9c15b0436f\",\"iv\":\"5c64efe521edefead0cb0414bc6bb869\"}","silent":false}	1730	
22:19:41.199

@vercel
Copy link

vercel bot commented Dec 29, 2021

@welps is attempting to deploy a commit to the WalletConnect Team on Vercel.

A member of the Team first needs to authorize it.

Copy link
Collaborator

@brunobar79 brunobar79 left a comment

Choose a reason for hiding this comment

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

🐐

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.

3 participants