{"_id":"@0xvaibhav/divergent-client","_rev":"8-44399fe9c4aebc8b336e957da156afeb","name":"@0xvaibhav/divergent-client","dist-tags":{"latest":"0.0.9"},"versions":{"0.0.1":{"name":"@0xvaibhav/divergent-client","version":"0.0.1","main":"dist/index.mjs","import":"dist/index.mjs","types":"dist/index.d.ts","license":"MIT","devDependencies":{"@types/diffie-hellman":"^5.0.0","@types/ed2curve":"^0.2.2","@types/simple-peer":"^9.11.5","@types/socket.io-client":"^3.0.0","ed2curve":"^0.3.0","tsconfig":"*","tsup":"^6.5.0","typescript":"^4.7.4"},"dependencies":{"@apollo/client":"^3.7.1","@ethersproject/providers":"^5.7.2","@metamask/providers":"^10.2.0","axios":"^1.1.3","diffie-hellman":"^5.0.3","ed2curve":"^0.3.0","ethers":"^5.7.2","graphql":"^16.6.0","i":"^0.3.7","npm":"^9.1.1","pino":"^8.6.1","react":"18.2.0","simple-peer":"^9.11.1","socket.io":"^4.5.3","socket.io-client":"^4.5.3","tweetnacl":"^1.0.3","tweetnacl-util":"^0.15.1","uuid":"^9.0.0","zustand":"4.0.0-rc.1"},"scripts":{"dev":"yarn build --watch","build":"yarn clean && tsup","clean":"rm -rf dist"},"gitHead":"f618e09b07517c3d07b2df8c36653047724cd762","_id":"@0xvaibhav/divergent-client@0.0.1","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-E0C7CggotiTnCM3angBeueNhd0U1IAnu7+M0Tu6GKquSSGFVecGsQ2rK4ZiqewbhpzIpQhm0o1X0+SuYlXpgrA==","shasum":"68ca26c74ed944d90c2c127f5966ddc15df4785f","tarball":"https://registry.npmjs.org/@0xvaibhav/divergent-client/-/divergent-client-0.0.1.tgz","fileCount":27,"unpackedSize":121487,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3UND7Sx/LLZbmq/mHyqLMCLlhlJ3YrjnmtOBqHql5fgIge7ENl0nY6xG0nV1W/eg2/tBfr2E8SfS/PU68fRh6Gzk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhRFWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmruiA/9GJW33yDQumAIPSoCox7nrfn0k25tE1yA8T2kIiOvLs2R3EGc\r\nT4Rz/2keza9IbdbjUVMQf8d1PV1I5Pyyt6KRlprfBxQR9wPPQkkXw7OKYDWe\r\ngn8d4xDo457FIw+y379TgIwwIyNoeKnV5UQn+DGE0DmGePJk3KPdpXVJKKbc\r\n7USEiEtd2t6+SAGiRdQRmXiFz+SFD1BCeCV5ib5sbUhfD/+JNbzuhaiPBGaq\r\niOvQ521GcMoN8Z28f/BJTRxVO6+B9QcjXJsYzWz/oCeH3jF3N4MiDtwVvtzM\r\nAeW/P/yamDO2PKTRZNoy9LMAaPgmqxwZkRfQWsQ2haxAWGNekl6Cx003m6Bw\r\n7p4LqoEV+EZOV18mUU+GQQ4KpTvbsW8txrHkBdWsO979LMJvF0yAUvROdu4d\r\nzRLrGdk7/Chqmmpn2ryhUJeRABXhyOq1F5pZxTG9DKoRBwX1vvtc7Q7XxxHz\r\nnNmOIceh7iNc3DV0T6ugnZYchanlq3+SDLPVMJSUZi9rD4VCK0YfGpo27Z6c\r\n28R/SuWfYzgbMZBu+pEeI/7Nzq9XNzyXtbfmCH0hBZmevHCCgaNklEL8RiNV\r\nQHgL4Jzfg7ww8iH6j5e/VBh2A24M+pH6deDtKtq996wZ+sR9RQGpBnVicbAG\r\n8rC415kTvvLxmMBidJCNSAlk4Ju1aYRKFNg=\r\n=6olN\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"0xvaibhav","email":"vaibhavmm@hotmail.com"},"directories":{},"maintainers":[{"name":"0xvaibhav","email":"vaibhavmm@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/divergent-client_0.0.1_1669665110625_0.28973362040217454"},"_hasShrinkwrap":false},"0.0.2":{"name":"@0xvaibhav/divergent-client","version":"0.0.2","main":"dist/index.mjs","import":"dist/index.mjs","types":"dist/index.d.ts","license":"MIT","devDependencies":{"@types/diffie-hellman":"^5.0.0","@types/ed2curve":"^0.2.2","@types/simple-peer":"^9.11.5","@types/socket.io-client":"^3.0.0","ed2curve":"^0.3.0","tsconfig":"*","tsup":"^6.5.0","typescript":"^4.7.4"},"dependencies":{"@apollo/client":"^3.7.1","@ethersproject/providers":"^5.7.2","@metamask/providers":"^10.2.0","axios":"^1.1.3","diffie-hellman":"^5.0.3","ed2curve":"^0.3.0","ethers":"^5.7.2","graphql":"^16.6.0","i":"^0.3.7","npm":"^9.1.1","pino":"^8.6.1","react":"18.2.0","simple-peer":"^9.11.1","socket.io":"^4.5.3","socket.io-client":"^4.5.3","tweetnacl":"^1.0.3","tweetnacl-util":"^0.15.1","uuid":"^9.0.0","zustand":"4.0.0-rc.1"},"scripts":{"dev":"yarn build --watch","build":"yarn clean && tsup","clean":"rm -rf dist"},"gitHead":"f618e09b07517c3d07b2df8c36653047724cd762","_id":"@0xvaibhav/divergent-client@0.0.2","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-I5E2NsJtwaBedydMX4N7rGdvnR2+2486PNpnOx98tkufLxTgb2uyMo4zVEsEq2T9Mu3/XSt9e4Ccp9tz07veHQ==","shasum":"c5303ada56dfff72ee36b77c7c0fe0cf2d081e10","tarball":"https://registry.npmjs.org/@0xvaibhav/divergent-client/-/divergent-client-0.0.2.tgz","fileCount":27,"unpackedSize":121519,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDB2WchSAFu6Us2fyOHa1F1KyUCpJgvGpyl/ALdXLkS6wIgBK0lWbPsrctJeTSYgRxoTOcfpaWeNj+z54saD4wrAjE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhRxlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoowA//aG6TeeSYrgxght1iKWGg9erc+wweiqsgcFi3ojsrXc/72+gC\r\neaxyinJHglJNqNGXp9/VjFPVkCxjLDJgsYSZRl1sUAkl0EX5fZjOATghCAxw\r\np9vkcZ2KymNkQ2JevWaDbCDT7n2CdtTYgqmQXS+UylPTpgTMGts4VKoTMXii\r\nhTSlxPIIzdU5EtNp2r76A6yTOwBkDa7v2vV5E/1RVvLIfTY9WF30yw8QaLsb\r\n/KXzHFW+FyiH6EGo8Hfxf0HzaQQTwA/jf/DibKstClBLEZuEPWjXmdDOMg0V\r\nTNiqBWCK/L3jJUzZ3oVpU6/UIseUsOkGJZKTOZquDACloVouOmMlFsMBbivk\r\ns+bk8erGz6IL6dyRANcIRT4dcQ2zekyt7NtP8ih3SrqTNQsTaUBG59B706ap\r\nqxXyfh38wrV7aSjSwT5TeVfWY5yYVk4B2MdRjLuRGNfd3/oaB5ZPDA9876bi\r\nOXYSq5DveHC5jza2f6F+zx7uPU0JO/PQ5Dnx6y+54jYnJLCFTBo6+RAFwcd+\r\nCMiHhZpnxc/V5KX6f0/ox3GRRuXy1WtL6qR6z6c8ETZTgTDHahaQp7rHPWWn\r\n88aj3Aoysqyom2aqG+enjPNOBSjBfmf5o7y/o4ytMPl56UFFYOtJTqWlhsDJ\r\nEuF/pPXMS2X6MdeW6S2irG9iVJ2t7nzPhZs=\r\n=OY2J\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"0xvaibhav","email":"vaibhavmm@hotmail.com"},"directories":{},"maintainers":[{"name":"0xvaibhav","email":"vaibhavmm@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/divergent-client_0.0.2_1669667940823_0.8322301665248186"},"_hasShrinkwrap":false},"0.0.3":{"name":"@0xvaibhav/divergent-client","version":"0.0.3","main":"dist/index.mjs","import":"dist/index.mjs","types":"dist/index.d.ts","license":"MIT","devDependencies":{"@types/diffie-hellman":"^5.0.0","@types/ed2curve":"^0.2.2","@types/simple-peer":"^9.11.5","@types/socket.io-client":"^3.0.0","ed2curve":"^0.3.0","tsconfig":"*","tsup":"^6.5.0","typescript":"^4.7.4"},"dependencies":{"@apollo/client":"^3.7.1","@ethersproject/providers":"^5.7.2","@metamask/providers":"^10.2.0","axios":"^1.1.3","diffie-hellman":"^5.0.3","ed2curve":"^0.3.0","ethers":"^5.7.2","graphql":"^16.6.0","i":"^0.3.7","npm":"^9.1.1","pino":"^8.6.1","react":"18.2.0","simple-peer":"^9.11.1","socket.io":"^4.5.3","socket.io-client":"^4.5.3","tweetnacl":"^1.0.3","tweetnacl-util":"^0.15.1","uuid":"^9.0.0","zustand":"4.0.0-rc.1"},"scripts":{"dev":"yarn build --watch","build":"yarn clean && tsup","clean":"rm -rf dist"},"gitHead":"f43baf336e22a21b0450dd89d92ca107c05ba047","_id":"@0xvaibhav/divergent-client@0.0.3","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-J9d9DC0i1KbMUjPHRGfFAqJ8TX3NU2rIbr+HLv9o5qMdQgM8RZgqL5NXnQYIFuWxGQ4HXWsp2cUY1ORn3WJkew==","shasum":"11299ae572115019628bc956b453e74859642cc9","tarball":"https://registry.npmjs.org/@0xvaibhav/divergent-client/-/divergent-client-0.0.3.tgz","fileCount":27,"unpackedSize":121471,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDxlEnuZGR36scN9fjiez1qfiYQK2pEmA0AIaxoWdE8FgIhANoI34FJUsyMmA8jxMEldT/Uz5WNUiwOc4yEYvHBnu07"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhR9PACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpRpxAAoX2XrmKbbAa+l2vgQ13kRL3jzmxAQMItOfNWOFzSaQI/grNf\r\nRto1uDJyxAAnPJfvsoqqqm6jXI1PEbekoaE+dgjh3s3f+RoLqqZ1PMg3ynok\r\nWU8J8SwgwE9Pp7XAqk2BE+YkwY3QUKzWWTkLkOMETn6nMdqsdPkIQV4ifk84\r\nwR0D1MVxXpBfeftWr3neNRsDiy5A1UMbLC8Lkhqqnx6+HaXsgrlJdZul9k9s\r\nHpSjEFDlyPcQJ9QoNIKDmJ1hawuv9oUQhGM/DKPk+VBE4rdSx1EkaMEG0rkH\r\n+tliDWueSNgeBJef4g33/jck1VN1Tkq4S9pcS6/iPuLPDcf6dtRXkd6ysbTR\r\nGYzfhQlqUZPYmXGS//i23FIm/dSrOCwRY2hAAgxYPFeZTRJh6BgUYwD2ktzm\r\nxCnacM7nKsOu4WHiBSGqO3HdikURmmLlko0dJQ68bg2X/QoqEamtHwXxyQkx\r\n6t21xsdNddbHDKWWWQjfMVxlxSEe/UaljGe8/c65LzTx5woGHYJHDhqanY98\r\nPwUe2DldoFj7GAIYAJCdxybYSSGAD3AkW/bSRvRvKqx20ePF1xLuDqejVxFl\r\nJ6NnNSHgkuuhbTGvEWCyYr/nu1lmmxujxzfyImMFECE4jcV871Uu3vUUWZ0D\r\nKw0MBXt+sOkQNL6QUv+1d3RMld+hbo6OyPk=\r\n=MeUo\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"0xvaibhav","email":"vaibhavmm@hotmail.com"},"directories":{},"maintainers":[{"name":"0xvaibhav","email":"vaibhavmm@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/divergent-client_0.0.3_1669668687433_0.8520683697375169"},"_hasShrinkwrap":false},"0.0.4":{"name":"@0xvaibhav/divergent-client","version":"0.0.4","main":"dist/index.mjs","import":"dist/index.mjs","types":"dist/index.d.ts","license":"MIT","devDependencies":{"@types/diffie-hellman":"^5.0.0","@types/ed2curve":"^0.2.2","@types/simple-peer":"^9.11.5","@types/socket.io-client":"^3.0.0","ed2curve":"^0.3.0","tsconfig":"*","tsup":"^6.5.0","typescript":"^4.7.4"},"dependencies":{"@apollo/client":"^3.7.1","@ethersproject/providers":"^5.7.2","@metamask/providers":"^10.2.0","axios":"^1.1.3","diffie-hellman":"^5.0.3","ed2curve":"^0.3.0","ethers":"^5.7.2","graphql":"^16.6.0","i":"^0.3.7","npm":"^9.1.1","pino":"^8.6.1","react":"18.2.0","simple-peer":"^9.11.1","socket.io":"^4.5.3","socket.io-client":"^4.5.3","tweetnacl":"^1.0.3","tweetnacl-util":"^0.15.1","uuid":"^9.0.0","zustand":"4.0.0-rc.1"},"scripts":{"dev":"yarn build --watch","build":"yarn clean && tsup","clean":"rm -rf dist"},"gitHead":"f43baf336e22a21b0450dd89d92ca107c05ba047","_id":"@0xvaibhav/divergent-client@0.0.4","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-wNQj/KKz2fA/2T4PGQQJoyTzT0/KeO80oDR81a0Gy0ZHFOl7Q/ezJWbtyj3ajQXyrzCZ9niQjLfDDZRhlbo3lQ==","shasum":"c8497f14f7d97cd254e3d0d1a20e67d6bc15dbdd","tarball":"https://registry.npmjs.org/@0xvaibhav/divergent-client/-/divergent-client-0.0.4.tgz","fileCount":27,"unpackedSize":143425,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNji6MxA2fm7JEBa32dW2MStCpR01Rmg8qjSPdo0tDwgIhAJGk1UJrSZBgdq6zDJC7quZYxsiT+W1rHgaUQnnD4fAk"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhSO9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqb5BAAiWHxIvgOWBbjWwiWpfnWKDlWTQ3xwe8ITqlf7N8JWMw3Vtpw\r\nLnEJ4kF3mfkSSWjZdLqQDuMlLkEmF0zsIXcjOtAlukZuBMkMAK22njuCyamq\r\nQoXdKrW/81c7HZ2sBrf+qMCNyTPHe5oQGE0yJYKAQHVYQbkzqko9VOm/JpOr\r\n6P/2GrdwmKVcaeYBW8RCDwc7m/G6sxj5SgGbf8403nUy2fUrgj+rZ12Lmi45\r\nXKAHZ0Qf3cA5tMqQbHwJN640q/NjLrr+p88YCbVvzDOD19MbswEHLP4nSD7/\r\nSX1xyWRj92JTfH5ABK9+W0yNOZWp7JbTEZXo4T+mvi4JBRSf2jOyC5nff+0k\r\njJx2FMDPSlUkbaDdPqEJtioJOc22L+7yB54moIUliCYFQN8+70amXxs1LzFg\r\nrWPnlBnJlZ3+28mszC6a0u8N+1XKk5SgNWPOyJPcqbhDkxIgPAAbP+m0wPhS\r\nca7n45FzAOZlKT+xBmt7HpI3zVi6RXyFUBAeo+Ko+zsUWxUQbcui3xDb8/RT\r\nhL48XG2RODBYxRlycpbES6Rw4+zB2JsHwJoRCd4aICY5gwLDpk/VqtfwmQMk\r\nr2jfDn19Vulr9pe/W4cMrhoJGl2hl53iXavA6gmL3XEhAUILjsGR4bapkIRp\r\ngXBW1DIUi3a7fsX1+jXmoeoCNoJOUHES11I=\r\n=qZOc\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"0xvaibhav","email":"vaibhavmm@hotmail.com"},"directories":{},"maintainers":[{"name":"0xvaibhav","email":"vaibhavmm@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/divergent-client_0.0.4_1669669821611_0.8806186029621248"},"_hasShrinkwrap":false},"0.0.5":{"name":"@0xvaibhav/divergent-client","version":"0.0.5","main":"dist/index.mjs","import":"dist/index.mjs","types":"dist/index.d.ts","license":"MIT","devDependencies":{"@types/diffie-hellman":"^5.0.0","@types/ed2curve":"^0.2.2","@types/simple-peer":"^9.11.5","@types/socket.io-client":"^3.0.0","ed2curve":"^0.3.0","tsconfig":"*","tsup":"^6.5.0","typescript":"^4.7.4"},"dependencies":{"@apollo/client":"^3.7.1","@ethersproject/providers":"^5.7.2","@metamask/providers":"^10.2.0","axios":"^1.1.3","diffie-hellman":"^5.0.3","ed2curve":"^0.3.0","ethers":"^5.7.2","graphql":"^16.6.0","i":"^0.3.7","npm":"^9.1.1","pino":"^8.6.1","react":"18.2.0","simple-peer":"^9.11.1","socket.io":"^4.5.3","socket.io-client":"^4.5.3","tweetnacl":"^1.0.3","tweetnacl-util":"^0.15.1","uuid":"^9.0.0","zustand":"4.0.0-rc.1"},"scripts":{"dev":"yarn build --watch","build":"yarn clean && tsup","clean":"rm -rf dist"},"gitHead":"f43baf336e22a21b0450dd89d92ca107c05ba047","_id":"@0xvaibhav/divergent-client@0.0.5","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-oOYySrIbFvKdXcHZM4Vjru+lfLMBWDRMQYcq8ar/ETbdK8f+ciCKVihRgXhdtkge+5y0yJrjAXNZ+erYXrjgrg==","shasum":"8e5f7d0b342178345e72c5ee3901ec0996736831","tarball":"https://registry.npmjs.org/@0xvaibhav/divergent-client/-/divergent-client-0.0.5.tgz","fileCount":28,"unpackedSize":389682,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCuD4TQc44g0CySEA3axC+yNsBAlOhpbOFKAontbdcghwIhANRYc3JAZ3fzXi3ZKEexMWY5Gal+CEuUWwRu9cS3UvEF"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhSX0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmobKRAAoSeTVGBdJq3iUGmaIdDmvHdJKHFRhVr/FOEYd3Iggc9KtEbV\r\nWikNjuhN1gsSR3+qemoQrPAICocdEWrZLd4ski7buANmK3x0Drmvi5fQgsvz\r\nOi7A94dSIot/IlmdUB6CS1t9+4HpHjvaJOw5mMV74/+8J0xp9QlKPBiw1hwH\r\n2jbX6Kmm26HkW1dzq/VQbxb9s0bc9AmZsaWcCtwHf+evLuEP2sNa1ptYJv55\r\nkhlojj/t0FVQg8qB5ryvcsBrIBFzJyej8ZiTvrCgguN/jRmTJrsk6nC7i3O3\r\no9yG9fukMkwQNtt/d6rkXEadrs2LqqSxUVhclydH2LrAL5Tv8NXmJFi5YWc8\r\nxuOinyUmSHz9yd6dkbTBGIm5WfBPll3Zw/bgc7BZwGYpgFSEktDRNA8kcypX\r\n2N/+mxSXGjRFHaAt0TJ7pCuq69rwa0qrvi1Pwih3zk/3/7AZotcXsewXhJqT\r\nNudEvX8P2HHXVMuMxH+/fcCb2npu457mASBEtUaZP/8TM1wKRVXwFO6xvHu3\r\nCvgPtiHPvwhnN+0HkiWsZkAJymmmu5URUfVlnvGRv6lGV1i15OfHfwTzwqHa\r\nKwJuyR2UPdIYhTwLMQxZ6kdkFDo29LT3NXHkoV/ESX1N6jn4jICw4tSk9+AT\r\nQMlqfCyf9+xLDdkL2FSKE/7jARxj0fMeV9c=\r\n=KFoA\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"0xvaibhav","email":"vaibhavmm@hotmail.com"},"directories":{},"maintainers":[{"name":"0xvaibhav","email":"vaibhavmm@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/divergent-client_0.0.5_1669670388676_0.36609269492029095"},"_hasShrinkwrap":false},"0.0.6":{"name":"@0xvaibhav/divergent-client","version":"0.0.6","main":"dist/index.mjs","import":"dist/index.mjs","types":"dist/index.d.ts","license":"MIT","devDependencies":{"@types/diffie-hellman":"^5.0.0","@types/ed2curve":"^0.2.2","@types/simple-peer":"^9.11.5","@types/socket.io-client":"^3.0.0","ed2curve":"^0.3.0","tsconfig":"*","tsup":"^6.5.0","typescript":"^4.7.4"},"dependencies":{"@apollo/client":"^3.7.1","@ethersproject/providers":"^5.7.2","@metamask/providers":"^10.2.0","axios":"^1.1.3","diffie-hellman":"^5.0.3","ed2curve":"^0.3.0","ethers":"^5.7.2","graphql":"^16.6.0","i":"^0.3.7","npm":"^9.1.1","pino":"^8.6.1","react":"18.2.0","simple-peer":"^9.11.1","socket.io":"^4.5.3","socket.io-client":"^4.5.3","tweetnacl":"^1.0.3","tweetnacl-util":"^0.15.1","uuid":"^9.0.0","zustand":"4.0.0-rc.1"},"scripts":{"dev":"yarn build --watch","build":"yarn clean && tsup","clean":"rm -rf dist"},"gitHead":"bbf0793930b3b871d6db143fd99ac14efb7b5612","_id":"@0xvaibhav/divergent-client@0.0.6","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-TG7PlGxseHEuIQHiAfG/9w3Or+dgW3RMs+bFyArHZYsOSrvafAtnvNJVdbD2b9yAiy+ESE7RX8sD91prLdmSYQ==","shasum":"e9be045d6d0b06beae051286d2584a63bfd8517a","tarball":"https://registry.npmjs.org/@0xvaibhav/divergent-client/-/divergent-client-0.0.6.tgz","fileCount":27,"unpackedSize":386449,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCaJemG6xBT8mf/9GqtQU0hrbKoFa724vFCxpWm2LbftgIgGsFgHhbpfuU8kmHmYODG6R1iriDLT3cyaT6O0SxouAc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhSclACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqY4A//f7F+nwniKh/2iblF8WLjdznSjiTO/Id/TQ4Z0WiH1JPIDyM4\r\nCTOHyi+KMlaiEERGz9Qd0m7Ge2dF1uSLbeo0DoB/YD9saeYyxnkdFgg0I0cw\r\nAK9IpGphWR2FFMcGzfoXpRFnDtxEhEBkbfWmYaMfNMMYyclhuq5jqnUOBvTr\r\nzLRkPTyXG6L740jj5uOwpQKOu7obKIJYcp11UnSJ67ZD3ffItT1AmtL+qW/U\r\nC+cCul32YyvgC6ZOrxwcyYmvNayDmo+CzGIjK5cHaKWD9ebj2vpOE6rDyKSN\r\nxa9Go7lMscnY5Jk2W01N7r0VwUGp3Aaon1hg+NhpO0PvwXBP6V5fhiDbMuRa\r\nDfvpDDGJwXCIHmxDWmjOVMOGWXLVVK7ZDcfBPB4DRd6xA2RW1Gedt/XJivID\r\no9hOLLhwndFHOywMXQLJVzeV8L7h/NX/cKJYbrC87CDGmQfxLWJY1jZoXQAX\r\n6AV01h4bOVsfCmYSz5MxTv+neAXxj5Oaqisk/ufquRscpPVpJ4V6XY9MbUuL\r\nFG5+oJXHc0pSMKqaHt6EBxKjuTWx4rfqXPsUIGModLtvxVOQW2GfsonvjdIX\r\ng9GAa4jhJvejiV0iOGfP9Llj/5717a3RsfDy773jbTiR8ax9QLh0e1pJJXRG\r\nu3wSB8NoJv6VWJ/YzHD8KjY0iLkjHnI2DXY=\r\n=afP4\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"0xvaibhav","email":"vaibhavmm@hotmail.com"},"directories":{},"maintainers":[{"name":"0xvaibhav","email":"vaibhavmm@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/divergent-client_0.0.6_1669670693175_0.34255616864146377"},"_hasShrinkwrap":false},"0.0.7":{"name":"@0xvaibhav/divergent-client","version":"0.0.7","main":"dist/index.mjs","import":"dist/index.mjs","types":"dist/index.d.ts","license":"MIT","devDependencies":{"@types/diffie-hellman":"^5.0.0","@types/ed2curve":"^0.2.2","@types/simple-peer":"^9.11.5","@types/socket.io-client":"^3.0.0","ed2curve":"^0.3.0","tsconfig":"*","tsup":"^6.5.0","typescript":"^4.7.4"},"dependencies":{"@ethersproject/providers":"^5.7.2","@metamask/providers":"^10.2.0","axios":"^1.1.3","diffie-hellman":"^5.0.3","ed2curve":"^0.3.0","ethers":"^5.7.2","graphql":"^16.6.0","i":"^0.3.7","npm":"^9.1.1","pino":"^8.6.1","react":"18.2.0","simple-peer":"^9.11.1","socket.io":"^4.5.3","socket.io-client":"^4.5.3","tweetnacl":"^1.0.3","tweetnacl-util":"^0.15.1","uuid":"^9.0.0","zustand":"4.0.0-rc.1"},"scripts":{"dev":"yarn build --watch","build":"yarn clean && tsup","clean":"rm -rf dist"},"gitHead":"bbf0793930b3b871d6db143fd99ac14efb7b5612","_id":"@0xvaibhav/divergent-client@0.0.7","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-0beWr4Wi+Om4aiAhcjcxKmcuNDXOFxrcoFQwuYOhv1r/F8gUtMQeY4WLlFVi5UFKs3C2ODANoTl4a6lWuVLX+Q==","shasum":"908ce63f7515dad7766f62a02c9293a78c297d45","tarball":"https://registry.npmjs.org/@0xvaibhav/divergent-client/-/divergent-client-0.0.7.tgz","fileCount":27,"unpackedSize":361259,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID91nqI+8clk+fcMH6Eimnwyk7Ow37UtYDujAVCd3h2TAiBR7keiQPJ+OB77YR7Aa4qyZ1s/Cmx60RzvdvEqtIUCPQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhSeeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqeHA//VWP4tADkvVQivQqZLkeSKyStN7Ff1FPrpPEVKu3+Nof9k5uf\r\nadXKuHcm6kjLuP56uL9I7H7Qt8IIvb7WmPS15gLoYGAnueVoRWzFqkBTZsWI\r\nEbkJXYMyxDh0oGjWNVNtcuWFCkcU3fPrpycG/aCXHVbC7nMFwchdQRUr/U4O\r\nqEIL6AWAoKiu1c3JZdA9ttV9KCdTjgowIqmIzRwG7tcMWNPUfdOTLPu0HmKY\r\neuWLTc0DM+ByzGEUvvokOBG24dmh/rWB2lW4Xo85kWRkVKYoqPmBrYGTzOC1\r\nuYk6FiitkrbaVH2Qd4KnLdi0QcggLFqzar3sN2jg85fYrVZAtV54hCi3+wsf\r\nEbFo3nQi3OJJVctSOx9Mp+46Xn0JCza2Dz2MTXWtuzDr7LzmorwUpS6b83m5\r\nnGIFCfLvmwQ8WfNlCBVmzxTDlkeE0i1w7AN3L6ay6Gr7gcGv/eO/qsXoH3WG\r\npBnLkilBFbbGHgzY/WkC5aVaCvveQsg/B1dXxL2SVpaKbJNn29fvmy3AW7C2\r\nBFadLxTWn0ErYhKOYryU3sfq1d1rScTv0TzsxPpMbYYX0DwekWp57x5AEkKS\r\n1QI8ne8wxc7IxIUS/6n+N1KfuOca8nh+7kgh/WPH0Xhhf3hY0uDWCLpsvPTs\r\nYK0ZZlecmcEUSnRZMVqeVkgSMONfOc0hj90=\r\n=FKw4\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"0xvaibhav","email":"vaibhavmm@hotmail.com"},"directories":{},"maintainers":[{"name":"0xvaibhav","email":"vaibhavmm@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/divergent-client_0.0.7_1669670813926_0.596920873043495"},"_hasShrinkwrap":false},"0.0.8":{"name":"@0xvaibhav/divergent-client","version":"0.0.8","main":"dist/index.mjs","import":"dist/index.mjs","types":"dist/index.d.ts","license":"MIT","devDependencies":{"@types/diffie-hellman":"^5.0.0","@types/ed2curve":"^0.2.2","@types/simple-peer":"^9.11.5","@types/socket.io-client":"^3.0.0","ed2curve":"^0.3.0","tsconfig":"*","tsup":"^6.5.0","typescript":"^4.7.4"},"dependencies":{"@ethersproject/providers":"^5.7.2","@metamask/providers":"^10.2.0","axios":"^1.1.3","crypto-aes-gcm":"^1.1.0","diffie-hellman":"^5.0.3","ed2curve":"^0.3.0","ethers":"^5.7.2","graphql":"^16.6.0","i":"^0.3.7","npm":"^9.1.1","pino":"^8.6.1","react":"18.2.0","simple-peer":"^9.11.1","socket.io":"^4.5.3","socket.io-client":"^4.5.3","tweetnacl":"^1.0.3","tweetnacl-util":"^0.15.1","uuid":"^9.0.0","zustand":"4.0.0-rc.1"},"scripts":{"dev":"yarn build --watch","build":"yarn clean && tsup","clean":"rm -rf dist"},"gitHead":"7acb4084cf635646828d96f1aeeeeef9ce33f50c","_id":"@0xvaibhav/divergent-client@0.0.8","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-pzQl+BjUeHg2Oq5WEDtRsO0By9vz4jF+TPRtt7btvZDbO/fMWoDatxWmXd2R+ozHhhAkX6uxsxwQfKNsSPDwdQ==","shasum":"195d1b02bd329ff8a132d9d58bb189e1bbbcf9ce","tarball":"https://registry.npmjs.org/@0xvaibhav/divergent-client/-/divergent-client-0.0.8.tgz","fileCount":29,"unpackedSize":379596,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDD3HQfABsbSq/sjOXWXe8wma2WzPAaA5PM1laQLVa9pAIgT9lfIFTlGhQdU8IZmJUWYP54MU9iFtlMocTa8Rgmylw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj0MN5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmov/w//XIFy9Cqf4s31ZcNT2tKRSUM3wCP27lQEVlXIU60qTscEDx70\r\nQsfL1fFd41Pce2Mf32wo0mno6veonyFQbzN3PY8rQN3v0E6qGNHZmp/HAiGi\r\n8zhNvC72Q2eVadLIMkLeL77Ftk2UgkwwpG36HHfDuwI91tPFS1+IEoYsEcNP\r\n34NbLJIFIszy8RMzqce8/m91HSO7ndOPZMz2HXLYZT4b3wI5+vG7Fpkqcvzg\r\nbS9COhiOQRDBtxp6QyTtvNrr4Xxyc73kfSgDKG47RMH7QxpO7OtnNDBLP3Mm\r\nbm6euNCKI0cdvX45fdyGVDBt76brkMD3DO7UXCi9RYZGw2ZwelTYkf64yAVc\r\nJO/UFpgdt9n16HvIlaPDYaT/wKKOQd4vUQTy8eheUiFvYA9hGQgMZvyYA8p1\r\n4oqNlnQYgWSNlPRXs1vUwLqlbD0zuRI8fJqwT5LEq8KFLO+uWrYBc3OWpuN3\r\ndBtJ7BxIHGW/PM9SNoB78Y5tdaU+RRm1iqnbO1yxxL34m34T5+RflyqQSnGK\r\nuGwBqZobPvkKMVBBkZqX52l9SrKtjKqcA4ncZq8KcVgEu7aj2KXVeHpnAsAM\r\n8iS6wWta13dGTCZ9qGvYYEKenOaNzAKNvPC7eKFX0T90djB7yD+9ZT/1aMcE\r\noAAKxUughLY4rZoIQ+8oQl9c+cC7iHfCO5o=\r\n=zPJR\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"0xvaibhav","email":"vaibhavmm@hotmail.com"},"directories":{},"maintainers":[{"name":"0xvaibhav","email":"vaibhavmm@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/divergent-client_0.0.8_1674625913775_0.2753274824251808"},"_hasShrinkwrap":false},"0.0.9":{"name":"@0xvaibhav/divergent-client","version":"0.0.9","main":"dist/index.mjs","import":"dist/index.mjs","types":"dist/index.d.ts","license":"MIT","devDependencies":{"@types/diffie-hellman":"^5.0.0","@types/ed2curve":"^0.2.2","@types/simple-peer":"^9.11.5","@types/socket.io-client":"^3.0.0","ed2curve":"^0.3.0","tsconfig":"*","tsup":"^6.5.0","typescript":"^4.7.4"},"dependencies":{"@ethersproject/providers":"^5.7.2","@metamask/providers":"^10.2.0","axios":"^1.1.3","crypto-aes-gcm":"^1.1.0","diffie-hellman":"^5.0.3","ed2curve":"^0.3.0","ethers":"^5.7.2","graphql":"^16.6.0","i":"^0.3.7","npm":"^9.1.1","pino":"^8.6.1","react":"18.2.0","simple-peer":"^9.11.1","socket.io":"^4.5.3","socket.io-client":"^4.5.3","tweetnacl":"^1.0.3","tweetnacl-util":"^0.15.1","uuid":"^9.0.0","zustand":"4.0.0-rc.1"},"scripts":{"dev":"yarn build --watch","build":"yarn clean && tsup","clean":"rm -rf dist"},"gitHead":"95f95217981bb97b8d07d8b814001e33ed3d55cb","description":"The Divergent Network provides developers with three different Software Development Kits (SDKs) to interact with the network. These SDKs are:","_id":"@0xvaibhav/divergent-client@0.0.9","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-3iL4eu2gjfCgOHCAF+mjk3rcUW1D0zzHkfdHlWbAf/sJMrEFfL0z3nKn7qBvCSlGJE5rl1YXbUTLOiwkzlVa+w==","shasum":"64c55bb106fec3301e5b96751658af1afee5e3e2","tarball":"https://registry.npmjs.org/@0xvaibhav/divergent-client/-/divergent-client-0.0.9.tgz","fileCount":30,"unpackedSize":393657,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE9nzX3MrdzalkuOjy2ts4fIGLcXX4vz90WyYhUqNIuBAiBIiuWdpVU0lNfJ2jXVJ4MMghQUCbsR+gmn9jk+FI2HyA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj0M3GACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq3sA/9EFTM6zSLYzhI1vLDE567BPPCYj1L1+KfJlLlpp7Av0DB4Z4M\r\n+aYuUia9J7l8xVRzzeyAxBOjEz6GyPoRtnLCi12dgTP8gg+mtKuuH43wpCVX\r\nLFjb5chlXMCPc81JGxXQyQLQ+Zu/B4LSApF8GZ6wmwSc5ZCBmzo5JUkBeXoC\r\no8+FzKTKsYC4XU1g0TktY++HPU6e4uzWRfS2XnjidDDUykrmurHqeITPH+al\r\nAOHMFegootGslrDU2wIZw9+YaRpNjydYFlvA48VlHpLc4ZR7axWl/iOT/APl\r\nBRclkK2KZ+PKcXST5SyZteEReXB4zuVWVqi5Ng+CccDRFiWfahk3Opzybih0\r\nXSIFpPnMRC0ljxn0MO7Yi8X9qkNSO957tMEVr7lkEHheMs9LXKUa3r70kWfx\r\nzeMESpJs+RVswrl4de2MUWdJFxZVHkPXtYj3A8ELocFZTSRnPx0RHJJSvU7V\r\nVfOrHfCzbg3p2+7U2DHhH1+bzJ+4de/d/Kxq5lM4RHvJYAOOlVIjCyHgT1cC\r\nOxnonFe6v7oWfR8pdWu/hKLNdf+wRggnK1dpoM9QqCirmzi7IiErg2CD1haJ\r\nbNPNFIm4NVwfiQF6etcjZrBdiIQDEopdseOhOYGpeb9y3NiHultWazcofZpr\r\nb95jPBGlRlPDNPa313lzIkbW0fRkNHrmwgg=\r\n=907I\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"0xvaibhav","email":"vaibhavmm@hotmail.com"},"directories":{},"maintainers":[{"name":"0xvaibhav","email":"vaibhavmm@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/divergent-client_0.0.9_1674628550615_0.376407916468404"},"_hasShrinkwrap":false}},"time":{"created":"2022-11-28T19:51:50.539Z","0.0.1":"2022-11-28T19:51:50.823Z","modified":"2023-01-25T06:35:50.907Z","0.0.2":"2022-11-28T20:39:01.069Z","0.0.3":"2022-11-28T20:51:27.599Z","0.0.4":"2022-11-28T21:10:21.829Z","0.0.5":"2022-11-28T21:19:48.909Z","0.0.6":"2022-11-28T21:24:53.375Z","0.0.7":"2022-11-28T21:26:54.180Z","0.0.8":"2023-01-25T05:51:53.938Z","0.0.9":"2023-01-25T06:35:50.823Z"},"maintainers":[{"name":"0xvaibhav","email":"vaibhavmm@hotmail.com"}],"license":"MIT","readme":"The Divergent Network provides developers with three different Software Development Kits (SDKs) to interact with the network. These SDKs are:\n\n1. `divergent-client`: This SDK is intended for developers who want to integrate both calling and messaging functionality in their decentralized application (dApp). It provides access to the full suite of features offered by the Divergent Network.\n2. `divergent-av`: This SDK is specifically designed for developers who want to incorporate decentralized calling capabilities into their dApp. It allows developers to add peer-to-peer audio and video calls to their dApp.\n3. `divergent-messenger`: This SDK is intended for developers who want to integrate decentralized messaging or chat functionality in their dApp. It provides access to the messaging features of the Divergent Network.\n\nThese SDKs allow developers to build applications that take advantage of the secure, open and decentralized nature of the Divergent Network, without having to build the underlying infrastructure from scratch. The SDKs include various functionalities and features such as key management, encryption, and identity management. They also provide the ability to interact with the network, allowing developers to make and receive calls, send and receive messages, and more.\n\n### Quick Start\n\nInstall the `divergent-client` pkg from npm or yarn inside your React or Next App.\n\n```bash\n// NPM\nnpm install @0xvaibhav/divergent-client\n\n// YARN\nyarn add @0xvaibhav/divergent-client\n```\n\n> 💡 For developers who just want to utilize the audio and video features can use the package  \n> `npm install @0xvaibhav/divergent-av` or `yarn add @0xvaibhav/divergent-av`\n>\n> For developers who just want to utilize the messaging features can use the package  \n> `npm install @0xvaibhav/divergent-messenger` or `yarn add @0xvaibhav/divergent-messenger`\n\n### Import\n\nImport `DivergentClientProvider` and `getDivergentClient` from the install pkg to your application entry point.\n\n```typescript\nimport { DivergentClientProvider, getDivergentClient } from \"divergent-client\";\n```\n\n### Configure\n\nConfigure your Divergent Client to use locally in the project.\n\n```typescript\nconst divergentClient = getDivergentClient(rpcEndpoint);\n\n// Ex:\nconst divergentClient = getDivergentClient(\"http://localhost:40011\");\n// The above example is when you setup local development environment.\n```\n\n### Wrap Providers\n\nWrap your application with `DivergentClientProvider`\n\n```typescript\nconst App = () => {\n  return (\n    <DivergentClientProvider value={divergentClient}>\n      <YourApp />\n    </DivergentClientProvider>\n  );\n};\n```\n\n### Usage\n\n```typescript\nimport { useDivergentClientContext } from \"divergent-client\";\n\nconst client = useDivergentClientContext();\n\n// Ready to access methods\nawait client.init(\"wallet\");\n```\n\n### Using the `useRootStore` hook\n\nTo access all the information from the client and listen to any changes in the state, we can use the useRootStore hook.\n\n```typescript\n// EXAMPLE\n\nimport { useRootStore } from \"divergent-client\";\nconst user = useRootStore((state) => state.user);\n\n<h1> Logged in User: {user.uid} </h1>;\n```\n\n## `init(”wallet”)`:\n\nAuthenticate a user with their crypto wallet\n\n### Usage:\n\n```typescript\nimport { useDivergentClientContext } from \"divergent-client\";\n\nconst client = useDivergentClientContext();\n\nconst login = async () => {\n  await client.init(\"wallet\");\n};\n```\n\nThe above method requests for a sign from user’s crypto wallet and authenticates them using JWT.\n\n# Methods for Wallet to Wallet Calls\n\n# For Calls\n\n## `dial(walletAddress)`:\n\nThe above method initiates a call to the given wallet address.\n\n### Usage:\n\n```typescript\nawait client.dial(\"0xc111Ea84c2FBF21E45d837FF32DD3399CBfeF480\");\n```\n\nOn usage of this method, a request to establish a call with the given wallet address is created.\n\n## `answer()`:\n\nThe above method create a connection with a peer requesting to be connected.\n\n### Usage:\n\n```typescript\nawait client.answer();\n```\n\nOn usage of this method, a call gets connected.\n\n## `end()`:\n\nTerminates an ongoing call.\n\n### Usage:\n\n```typescript\nclient.end();\n```\n\n# For Messaging\n\n# Methods for Wallet to Wallet messaging\n\nMessages sent and received using the `divergent-client` are end-to-end encrypted. The Divergent Protocol makes use of a set of Ed25519 based public and private keys to send and receive encrypted messages.\n\n## `startConversation(selfWalletAddress, otherWalletAddress)`:\n\nThe above method creates an inbox for given 2 addresses. The first argument to be the wallet address which is currently logged in and second argument of the other peer.\n\nNote: This method only works if both the peers have logged into the network atleast once. Else, this method will throw an `error`.\n\n### Usage:\n\n```typescript\nimport { useRootStore, useDivergentClientContext } from \"divergent-client\";\n\nconst client = useDivergentClientContext();\nconst user = useRootStore((state) => state.user);\n\nconst startConversation = (otherWalletAddress) => {\n  await client.startConversation(user.uid, otherWalletAddress);\n};\n```\n\n## `sendMessageAsync(payload, type: \"conversation\" | \"group\")`:\n\nNote: Before using this method, it is mandatory to use the `startConversation(selfWalletAddress, otherWalletAddress)` method. Without this, messages can neither be sent nor received.\n\nMessage payload should be of the type:\n\n```typescript\n\t{\n\t\tto: “0xc111Ea84c2FBF21E45d837FF32DD3399CBfeF480”,\n\t\tfrom: “0x171371a0fe069daa9e4cccdf2a9a3040242c8fa6”,\n\t\tmessage: “Hello”,\n\t\ttimestamp: Date.now().toString()\n\t}\n```\n\n### Usage\n\n```typescript\nimport { useRootStore, useDivergentClientContext } from \"divergent-client\";\nconst client = useDivergentClientContext();\nconst user = useRootStore((state) => state.user);\n\nconst sendMessage = async (to, message) => {\n  const payload = {\n    to: to,\n    from: user.uid,\n    message: message,\n    timestamp: Date.now().toString()\n  };\n  await client.sendMessageAsync(payload, \"conversation\");\n};\n```\n\n## `sendMessageSync(payload)`:\n\nThis method only works once a connection has been established using the `dial` and `answer` methods. Messages sent using this method are not persisted and as lost as soon as the connection has been terminated. The payload schema for this method is same as the payload schema for `sendMessageAsync`\n\n> 💡 Note: In order to send and receive messages using the `sendMessageSync` method, it is mandatory to establish a WebRTC connection between two peers using the `dial` and `answer` method.\n\n## Listening to messages:\n\n### 1. Async Messages\n\nThe messages sent using `sendMessageAsync` can be listened and display on the client side using the `conversations` variable through the client.\n\n### Usage:\n\n```typescript\nimport { useRootStore } from \"divergent-client\";\n\nconst conversations = useRootStore((state) => state.conversations);\n```\n\nAll the changes which happen real-time are automatically updated into this variable.\n\n### 2. Sync Messages\n\nThe messages which are sent using the `sendMessageSync` method can be listened and displayed using the syncMessages variable.\n\n### Usage:\n\n```typescript\nimport { useRootStore } from \"divergent-client\";\nconst syncMessages = useRootStore((state) => state.syncMessages);\n```\n\n# Methods for Group Chat\n\n# `createGroup(name: string)`\n\nThe above method is used to create and initialize a group with a certain name. Apart from the custom name, the group is also assigned a id by default which will be used as the `to` field in the message type to send a message.\n\n## Usage\n\n```javascript\nimport { useDivergentClientContext } from \"divergent-client\";\n\nconst client = useDivergentClientContext();\n\n// Inside your component\n<button onClick={async () => await client.createGroup(\"groupName\")}>\n  Create Group\n</button>;\n```\n\n# `sendMessageAsync(payload, type: \"conversation\" | \"group\")`\n\nNote: Before using this method, it is mandatory to use the `startConversation(selfWalletAddress, otherWalletAddress)` method. Without this, messages can neither be sent nor received.\n\nMessage payload should be of the type:\n\n```typescript\n\t{\n\t\tto: groupId,\n\t\tfrom: “0x171371a0fe069daa9e4cccdf2a9a3040242c8fa6”,\n\t\tmessage: “Hello”,\n\t\ttimestamp: Date.now().toString()\n\t}\n```\n\n## Usage\n\n```javascript\n\timport { useRootStore, useDivergentClientContext } from \"divergent-client\";\n\tconst client = useDivergentClientContext();\n\tconst user = useRootStore(state => state.user);\n\n\tconst sendMessage = async(groupId, message) => {\n\t\tconst payload = {\n\t\t\tto: groupId,\n\t\t\tfrom: user.uid,\n\t\t\tmessage: message,\n\t\t\ttimestamp: Date.now().toString()\n\t\t}\n\t\tawait client.sendMessageAsync(payload, \"conversation\");\n\t}\n\n\t// Example\n\t<button onClick={() => sendMessage(Object.keys(groups)[0], groupMessage, \"group\")}>\n```\n\n> 💡 The group id can be accessed using `useRootStore` hook  \n> `const groups = useRootStore(state => state.groups)`  \n> `console.log(Object.keys(groups))`\n\n# `addGroupParticipant(groupId: string, walletAddress: string)`\n\nAdds a user with that wallet address to a group providing that the user has used the network atleast once.\n\n## Usage\n\n```javascript\nimport { useDivergentClientContext } from \"divergent-client\";\n\nconst client = useDivergentClientContext();\n\n// Inside your component\n<button\n  onClick={async () =>\n    await client.addGrouParticipant(\"groupId\", \"0xWalletAddress\")\n  }\n>\n  Create Group\n</button>;\n```\n\n# `removeGroupParticipant(groupId: string, walletAddress: string)`\n\nRemoves a participant from a group. Only the creator of the group can call this function as of now.\n\n## Usage\n\n```javascript\nimport { useDivergentClientContext } from \"divergent-client\";\n\nconst client = useDivergentClientContext();\n\n// Inside your component\n<button\n  onClick={() => client.removeGrouParticipant(\"groupId\", \"0xWalletAddress\")}\n>\n  Create Group\n</button>;\n```\n\n# Accessing group messages\n\nThe group messages can be accessed and displayed using the `useRootStore` hook.\n\n```javascript\n\timport { useRootStore  } from \"divergent-client\";\n\tconst groups = useRootStore(state => state.groups)\n\n\t// Render\n\t<div>\n\t\t{JSON.stringify(groups)}\n\t</div>\n```\n\n# Error Handling\n\nThere are predefined error types when using Divergent-Client. Developers can choose to act upon the type of error.\n\n## Error Types\n\n```typescript\n\tconst IErrorType =\n\t  | \"userNotFound\"\n\t  | \"conversationNotFound\"\n\t  | \"sendError\"\n\t  | \"deleteError\"\n\t  | \"callError\"\n\t  | \"noLens\"\n```\n\n    1. userNotFound: Thrown when a user has not been registered on the Divergent Network yet.\n    2. conversationNotFound: Error thrown when user tries to send a message without starting a conversation (`startConversation`) i.e when inbox has not be initialized.\n    3. sendError: Thrown when an error occurs during sending a message.\n    4. callError: Thrown when any error occurs during initializing, end or on-going call.\n    5. noLens: Thrown when user is not found on Lens Protocol.\n\n## Listening for Error\n\n    Errors can be listened by listening to the `errorType` variable from the `useRootStore` hook.\n\n### Usage\n\n```typescript\nimport { useRootStore } from \"divergent-client\";\n\nconst errorType = useRootStore((state) => state.errorType);\nconst errorMessage = useRootStore((state) => state.errorMessage);\n\n// Example\n{\n  errorType == \"conversationNotFound\" ? <h2> {errorMessage} </h2> : null;\n}\n```\n\n# States\n\nThe divergent-client uses Zustand based state management. All the state variables can be accessed by importing `useRootStore` from the divergent-client package.\n\n<details>\n\t  <summary>user</summary>\n\t\n\t\n```typescript\n\tuser: {\n\t    uid: \"0xc111Ea84c2FBF21E45d837FF32DD3399CBfeF480\",\n\t    socket: \"\",\n\t    node: \"\",\n\t    avatarUrl: \"\",\n\t    messages: [],\n\t  },\n\t  connection: null,\n\t  peer: null,\n\t  conversations: {},\n\t  syncMessages: [],\n\t  incorrectKeys: false,\n```\n\t\n\t\n### Usage\n\t\n\t\n```typescript\n\timport { useRootStore } from \"divergent-client\"\n\tconst user = useRootStore(state => state.user);\n\t\n\t// SIMILARLY ALL THE ABOVE MENTIONED VARIABLES CAN BE USED.\n```\n\t\n\t\n\t\n</details>\n\n<details>\n  <summary>caller</summary>\n\t\n\t\n```typescript\n\tcaller: {\n\t\tcallerUid: undefined,\n\t  callerSignal: \"\",\n\t  callerStream: null,\n\t  connection: null,\n\t}\n```\n\t\n\t\n### Usage\n\t\n\t\n```typescript\n\timport { useRootStore } from \"divergent-client\"\n\t\n\tconst callerRef = useRef<any>();\n\tconst callerStream = useRootStore(state => state.callerStream);\n\t\n\tuseEffect(() => {\n\t    if(callerStream) callerRef.current.srcObject = callerStream;\n\t  }, [callerStream]);\n\t\n\t<video playsInline ref={callerStream} autoPlay style={{ width: \"300px\" }} />\n\t\n\t// SIMILARLY ALL THE ABOVE MENTIONED VARIABLES CAN BE USED.\n```\n\t\n\t\n\t\n  </details>\n\n<details>\n\t  <summary>mic</summary>\n\t\n\t\n```typescript\n\tmicState: {\n\t    mediaDevice: undefined,\n\t    stream: undefined,\n\t    streamError: null,\n\t    deviceLoading: true,\n\t },\n```\n\t\n\t\n### Usage:\n\t\n\t\n```typescript\n\timport { useRootStore } from \"divergent-client\"\n\t\n\tconst stream = useRootStore(state => state.micState.stream);\n```\n\t\n\t\n\t\n </details>\n\n# Key Management\n\n## `revealKeys()`:\n\nThis method is used to export the public and private keys of the currently logged in user. It is highly recommended that developers provide an option to export the keys of the users using this method in their respective apps.\n\n### Usage:\n\n```typescript\nimport { useDivergentClientContext } from \"divergent-client\";\n\nconst client = useDivergentClientContext();\n\nconst getKeys = async () => {\n  const keys = await client.revealKeys();\n  console.log(keys);\n};\n```\n\n# Support for Lens Protocol\n\nAll the features of Project Divergent are made available to the Lens Protocol users. Which means that you can send E2EE messages, make calls to profiles present the Lens Social Graph!\n\nAll of the methods for the divergent-client remain the same except the `init` method which would now take the argument of `“lens”` instead of `“wallet”`\n\n### Usage\n\n```typescript\nimport { useDivergentClientContext } from \"divergent-client\";\nconst client = useDivergentClientContext();\n\nconst login = async () => {\n  await client.init(\"lens\");\n};\n```\n","readmeFilename":"README.md","description":"The Divergent Network provides developers with three different Software Development Kits (SDKs) to interact with the network. These SDKs are:"}