feat(rln-reactts): connect wallet

This commit is contained in:
fryorcraken.eth 2022-09-23 18:17:28 +10:00
parent 3419ea07e4
commit 1745fc9dbf
No known key found for this signature in database
GPG Key ID: A82ED75A8DFC50A4
4 changed files with 457 additions and 0 deletions

View File

@ -14,6 +14,7 @@
"@types/react": "^18.0.21",
"@types/react-dom": "^18.0.6",
"@waku/rln": "0.0.4",
"ethers": "^5.7.1",
"js-waku": "^0.29.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",

View File

@ -13,6 +13,7 @@ specifiers:
'@types/react': ^18.0.21
'@types/react-dom': ^18.0.6
'@waku/rln': 0.0.4
ethers: ^5.7.1
js-waku: ^0.29.0
react: ^18.2.0
react-dom: ^18.2.0
@ -32,6 +33,7 @@ dependencies:
'@types/react': 18.0.21
'@types/react-dom': 18.0.6
'@waku/rln': 0.0.4
ethers: 5.7.1
js-waku: 0.29.0
react: 18.2.0
react-dom: 18.2.0_react@18.2.0
@ -1725,16 +1727,214 @@ packages:
transitivePeerDependencies:
- supports-color
/@ethersproject/abi/5.7.0:
resolution: {integrity: sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==}
dependencies:
'@ethersproject/address': 5.7.0
'@ethersproject/bignumber': 5.7.0
'@ethersproject/bytes': 5.7.0
'@ethersproject/constants': 5.7.0
'@ethersproject/hash': 5.7.0
'@ethersproject/keccak256': 5.7.0
'@ethersproject/logger': 5.7.0
'@ethersproject/properties': 5.7.0
'@ethersproject/strings': 5.7.0
dev: false
/@ethersproject/abstract-provider/5.7.0:
resolution: {integrity: sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==}
dependencies:
'@ethersproject/bignumber': 5.7.0
'@ethersproject/bytes': 5.7.0
'@ethersproject/logger': 5.7.0
'@ethersproject/networks': 5.7.1
'@ethersproject/properties': 5.7.0
'@ethersproject/transactions': 5.7.0
'@ethersproject/web': 5.7.1
dev: false
/@ethersproject/abstract-signer/5.7.0:
resolution: {integrity: sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==}
dependencies:
'@ethersproject/abstract-provider': 5.7.0
'@ethersproject/bignumber': 5.7.0
'@ethersproject/bytes': 5.7.0
'@ethersproject/logger': 5.7.0
'@ethersproject/properties': 5.7.0
dev: false
/@ethersproject/address/5.7.0:
resolution: {integrity: sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==}
dependencies:
'@ethersproject/bignumber': 5.7.0
'@ethersproject/bytes': 5.7.0
'@ethersproject/keccak256': 5.7.0
'@ethersproject/logger': 5.7.0
'@ethersproject/rlp': 5.7.0
dev: false
/@ethersproject/base64/5.7.0:
resolution: {integrity: sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==}
dependencies:
'@ethersproject/bytes': 5.7.0
dev: false
/@ethersproject/basex/5.7.0:
resolution: {integrity: sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==}
dependencies:
'@ethersproject/bytes': 5.7.0
'@ethersproject/properties': 5.7.0
dev: false
/@ethersproject/bignumber/5.7.0:
resolution: {integrity: sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==}
dependencies:
'@ethersproject/bytes': 5.7.0
'@ethersproject/logger': 5.7.0
bn.js: 5.2.1
dev: false
/@ethersproject/bytes/5.7.0:
resolution: {integrity: sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==}
dependencies:
'@ethersproject/logger': 5.7.0
dev: false
/@ethersproject/constants/5.7.0:
resolution: {integrity: sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==}
dependencies:
'@ethersproject/bignumber': 5.7.0
dev: false
/@ethersproject/contracts/5.7.0:
resolution: {integrity: sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==}
dependencies:
'@ethersproject/abi': 5.7.0
'@ethersproject/abstract-provider': 5.7.0
'@ethersproject/abstract-signer': 5.7.0
'@ethersproject/address': 5.7.0
'@ethersproject/bignumber': 5.7.0
'@ethersproject/bytes': 5.7.0
'@ethersproject/constants': 5.7.0
'@ethersproject/logger': 5.7.0
'@ethersproject/properties': 5.7.0
'@ethersproject/transactions': 5.7.0
dev: false
/@ethersproject/hash/5.7.0:
resolution: {integrity: sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==}
dependencies:
'@ethersproject/abstract-signer': 5.7.0
'@ethersproject/address': 5.7.0
'@ethersproject/base64': 5.7.0
'@ethersproject/bignumber': 5.7.0
'@ethersproject/bytes': 5.7.0
'@ethersproject/keccak256': 5.7.0
'@ethersproject/logger': 5.7.0
'@ethersproject/properties': 5.7.0
'@ethersproject/strings': 5.7.0
dev: false
/@ethersproject/hdnode/5.7.0:
resolution: {integrity: sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==}
dependencies:
'@ethersproject/abstract-signer': 5.7.0
'@ethersproject/basex': 5.7.0
'@ethersproject/bignumber': 5.7.0
'@ethersproject/bytes': 5.7.0
'@ethersproject/logger': 5.7.0
'@ethersproject/pbkdf2': 5.7.0
'@ethersproject/properties': 5.7.0
'@ethersproject/sha2': 5.7.0
'@ethersproject/signing-key': 5.7.0
'@ethersproject/strings': 5.7.0
'@ethersproject/transactions': 5.7.0
'@ethersproject/wordlists': 5.7.0
dev: false
/@ethersproject/json-wallets/5.7.0:
resolution: {integrity: sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==}
dependencies:
'@ethersproject/abstract-signer': 5.7.0
'@ethersproject/address': 5.7.0
'@ethersproject/bytes': 5.7.0
'@ethersproject/hdnode': 5.7.0
'@ethersproject/keccak256': 5.7.0
'@ethersproject/logger': 5.7.0
'@ethersproject/pbkdf2': 5.7.0
'@ethersproject/properties': 5.7.0
'@ethersproject/random': 5.7.0
'@ethersproject/strings': 5.7.0
'@ethersproject/transactions': 5.7.0
aes-js: 3.0.0
scrypt-js: 3.0.1
dev: false
/@ethersproject/keccak256/5.7.0:
resolution: {integrity: sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==}
dependencies:
'@ethersproject/bytes': 5.7.0
js-sha3: 0.8.0
dev: false
/@ethersproject/logger/5.7.0:
resolution: {integrity: sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==}
dev: false
/@ethersproject/networks/5.7.1:
resolution: {integrity: sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==}
dependencies:
'@ethersproject/logger': 5.7.0
dev: false
/@ethersproject/pbkdf2/5.7.0:
resolution: {integrity: sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==}
dependencies:
'@ethersproject/bytes': 5.7.0
'@ethersproject/sha2': 5.7.0
dev: false
/@ethersproject/properties/5.7.0:
resolution: {integrity: sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==}
dependencies:
'@ethersproject/logger': 5.7.0
dev: false
/@ethersproject/providers/5.7.1:
resolution: {integrity: sha512-vZveG/DLyo+wk4Ga1yx6jSEHrLPgmTt+dFv0dv8URpVCRf0jVhalps1jq/emN/oXnMRsC7cQgAF32DcXLL7BPQ==}
dependencies:
'@ethersproject/abstract-provider': 5.7.0
'@ethersproject/abstract-signer': 5.7.0
'@ethersproject/address': 5.7.0
'@ethersproject/base64': 5.7.0
'@ethersproject/basex': 5.7.0
'@ethersproject/bignumber': 5.7.0
'@ethersproject/bytes': 5.7.0
'@ethersproject/constants': 5.7.0
'@ethersproject/hash': 5.7.0
'@ethersproject/logger': 5.7.0
'@ethersproject/networks': 5.7.1
'@ethersproject/properties': 5.7.0
'@ethersproject/random': 5.7.0
'@ethersproject/rlp': 5.7.0
'@ethersproject/sha2': 5.7.0
'@ethersproject/strings': 5.7.0
'@ethersproject/transactions': 5.7.0
'@ethersproject/web': 5.7.1
bech32: 1.1.4
ws: 7.4.6
transitivePeerDependencies:
- bufferutil
- utf-8-validate
dev: false
/@ethersproject/random/5.7.0:
resolution: {integrity: sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==}
dependencies:
'@ethersproject/bytes': 5.7.0
'@ethersproject/logger': 5.7.0
dev: false
/@ethersproject/rlp/5.7.0:
resolution: {integrity: sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==}
dependencies:
@ -1742,6 +1942,106 @@ packages:
'@ethersproject/logger': 5.7.0
dev: false
/@ethersproject/sha2/5.7.0:
resolution: {integrity: sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==}
dependencies:
'@ethersproject/bytes': 5.7.0
'@ethersproject/logger': 5.7.0
hash.js: 1.1.7
dev: false
/@ethersproject/signing-key/5.7.0:
resolution: {integrity: sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==}
dependencies:
'@ethersproject/bytes': 5.7.0
'@ethersproject/logger': 5.7.0
'@ethersproject/properties': 5.7.0
bn.js: 5.2.1
elliptic: 6.5.4
hash.js: 1.1.7
dev: false
/@ethersproject/solidity/5.7.0:
resolution: {integrity: sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==}
dependencies:
'@ethersproject/bignumber': 5.7.0
'@ethersproject/bytes': 5.7.0
'@ethersproject/keccak256': 5.7.0
'@ethersproject/logger': 5.7.0
'@ethersproject/sha2': 5.7.0
'@ethersproject/strings': 5.7.0
dev: false
/@ethersproject/strings/5.7.0:
resolution: {integrity: sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==}
dependencies:
'@ethersproject/bytes': 5.7.0
'@ethersproject/constants': 5.7.0
'@ethersproject/logger': 5.7.0
dev: false
/@ethersproject/transactions/5.7.0:
resolution: {integrity: sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==}
dependencies:
'@ethersproject/address': 5.7.0
'@ethersproject/bignumber': 5.7.0
'@ethersproject/bytes': 5.7.0
'@ethersproject/constants': 5.7.0
'@ethersproject/keccak256': 5.7.0
'@ethersproject/logger': 5.7.0
'@ethersproject/properties': 5.7.0
'@ethersproject/rlp': 5.7.0
'@ethersproject/signing-key': 5.7.0
dev: false
/@ethersproject/units/5.7.0:
resolution: {integrity: sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==}
dependencies:
'@ethersproject/bignumber': 5.7.0
'@ethersproject/constants': 5.7.0
'@ethersproject/logger': 5.7.0
dev: false
/@ethersproject/wallet/5.7.0:
resolution: {integrity: sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==}
dependencies:
'@ethersproject/abstract-provider': 5.7.0
'@ethersproject/abstract-signer': 5.7.0
'@ethersproject/address': 5.7.0
'@ethersproject/bignumber': 5.7.0
'@ethersproject/bytes': 5.7.0
'@ethersproject/hash': 5.7.0
'@ethersproject/hdnode': 5.7.0
'@ethersproject/json-wallets': 5.7.0
'@ethersproject/keccak256': 5.7.0
'@ethersproject/logger': 5.7.0
'@ethersproject/properties': 5.7.0
'@ethersproject/random': 5.7.0
'@ethersproject/signing-key': 5.7.0
'@ethersproject/transactions': 5.7.0
'@ethersproject/wordlists': 5.7.0
dev: false
/@ethersproject/web/5.7.1:
resolution: {integrity: sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==}
dependencies:
'@ethersproject/base64': 5.7.0
'@ethersproject/bytes': 5.7.0
'@ethersproject/logger': 5.7.0
'@ethersproject/properties': 5.7.0
'@ethersproject/strings': 5.7.0
dev: false
/@ethersproject/wordlists/5.7.0:
resolution: {integrity: sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==}
dependencies:
'@ethersproject/bytes': 5.7.0
'@ethersproject/hash': 5.7.0
'@ethersproject/logger': 5.7.0
'@ethersproject/properties': 5.7.0
'@ethersproject/strings': 5.7.0
dev: false
/@humanwhocodes/config-array/0.10.5:
resolution: {integrity: sha512-XVVDtp+dVvRxMoxSiSfasYaG02VEe1qH5cKgMQJWhol6HwzbcqoCMJi8dAGoYAO57jhUyhI6cWuRiTcRaDaYug==}
engines: {node: '>=10.10.0'}
@ -3800,6 +4100,10 @@ packages:
loader-utils: 2.0.2
regex-parser: 2.2.11
/aes-js/3.0.0:
resolution: {integrity: sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==}
dev: false
/agent-base/6.0.2:
resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
engines: {node: '>= 6.0.0'}
@ -4173,6 +4477,10 @@ packages:
/batch/0.6.1:
resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==}
/bech32/1.1.4:
resolution: {integrity: sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==}
dev: false
/bfj/7.0.2:
resolution: {integrity: sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==}
engines: {node: '>= 8.0.0'}
@ -4192,6 +4500,14 @@ packages:
/bluebird/3.7.2:
resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==}
/bn.js/4.12.0:
resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==}
dev: false
/bn.js/5.2.1:
resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==}
dev: false
/body-parser/1.20.0:
resolution: {integrity: sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==}
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
@ -4239,6 +4555,10 @@ packages:
dependencies:
fill-range: 7.0.1
/brorand/1.1.0:
resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==}
dev: false
/browser-process-hrtime/1.0.0:
resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==}
@ -5107,6 +5427,18 @@ packages:
/electron-to-chromium/1.4.258:
resolution: {integrity: sha512-vutF4q0dTUXoAFI7Vbtdwen/BJVwPgj8GRg/SElOodfH7VTX+svUe62A5BG41QRQGk5HsZPB0M++KH1lAlOt0A==}
/elliptic/6.5.4:
resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==}
dependencies:
bn.js: 4.12.0
brorand: 1.1.0
hash.js: 1.1.7
hmac-drbg: 1.0.1
inherits: 2.0.4
minimalistic-assert: 1.0.1
minimalistic-crypto-utils: 1.0.1
dev: false
/emittery/0.10.2:
resolution: {integrity: sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==}
engines: {node: '>=12'}
@ -5565,6 +5897,44 @@ packages:
resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
engines: {node: '>= 0.6'}
/ethers/5.7.1:
resolution: {integrity: sha512-5krze4dRLITX7FpU8J4WscXqADiKmyeNlylmmDLbS95DaZpBhDe2YSwRQwKXWNyXcox7a3gBgm/MkGXV1O1S/Q==}
dependencies:
'@ethersproject/abi': 5.7.0
'@ethersproject/abstract-provider': 5.7.0
'@ethersproject/abstract-signer': 5.7.0
'@ethersproject/address': 5.7.0
'@ethersproject/base64': 5.7.0
'@ethersproject/basex': 5.7.0
'@ethersproject/bignumber': 5.7.0
'@ethersproject/bytes': 5.7.0
'@ethersproject/constants': 5.7.0
'@ethersproject/contracts': 5.7.0
'@ethersproject/hash': 5.7.0
'@ethersproject/hdnode': 5.7.0
'@ethersproject/json-wallets': 5.7.0
'@ethersproject/keccak256': 5.7.0
'@ethersproject/logger': 5.7.0
'@ethersproject/networks': 5.7.1
'@ethersproject/pbkdf2': 5.7.0
'@ethersproject/properties': 5.7.0
'@ethersproject/providers': 5.7.1
'@ethersproject/random': 5.7.0
'@ethersproject/rlp': 5.7.0
'@ethersproject/sha2': 5.7.0
'@ethersproject/signing-key': 5.7.0
'@ethersproject/solidity': 5.7.0
'@ethersproject/strings': 5.7.0
'@ethersproject/transactions': 5.7.0
'@ethersproject/units': 5.7.0
'@ethersproject/wallet': 5.7.0
'@ethersproject/web': 5.7.1
'@ethersproject/wordlists': 5.7.0
transitivePeerDependencies:
- bufferutil
- utf-8-validate
dev: false
/event-iterator/2.0.0:
resolution: {integrity: sha512-KGft0ldl31BZVV//jj+IAIGCxkvvUkkON+ScH6zfoX+l+omX6001ggyRSpI0Io2Hlro0ThXotswCtfzS8UkIiQ==}
dev: false
@ -6028,6 +6398,13 @@ packages:
dependencies:
function-bind: 1.1.1
/hash.js/1.1.7:
resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==}
dependencies:
inherits: 2.0.4
minimalistic-assert: 1.0.1
dev: false
/hashlru/2.3.0:
resolution: {integrity: sha512-0cMsjjIC8I+D3M44pOQdsy0OHXGLVz6Z0beRuufhKa0KfaD2wGwAev6jILzXsd3/vpnNQJmWyZtIILqM1N+n5A==}
dev: false
@ -6040,6 +6417,14 @@ packages:
resolution: {integrity: sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==}
dev: false
/hmac-drbg/1.0.1:
resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==}
dependencies:
hash.js: 1.1.7
minimalistic-assert: 1.0.1
minimalistic-crypto-utils: 1.0.1
dev: false
/hoist-non-react-statics/3.3.2:
resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
dependencies:
@ -7636,6 +8021,10 @@ packages:
/minimalistic-assert/1.0.1:
resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==}
/minimalistic-crypto-utils/1.0.1:
resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==}
dev: false
/minimatch/3.0.4:
resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==}
dependencies:
@ -9484,6 +9873,10 @@ packages:
ajv-formats: 2.1.1
ajv-keywords: 5.1.0_ajv@8.11.0
/scrypt-js/3.0.1:
resolution: {integrity: sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==}
dev: false
/select-hose/2.0.0:
resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==}
@ -10750,6 +11143,19 @@ packages:
signal-exit: 3.0.7
typedarray-to-buffer: 3.1.5
/ws/7.4.6:
resolution: {integrity: sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==}
engines: {node: '>=8.3.0'}
peerDependencies:
bufferutil: ^4.0.1
utf-8-validate: ^5.0.2
peerDependenciesMeta:
bufferutil:
optional: true
utf-8-validate:
optional: true
dev: false
/ws/7.5.9:
resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==}
engines: {node: '>=8.3.0'}

View File

@ -4,13 +4,21 @@ import * as rln from "@waku/rln";
import type { RLNInstance, MembershipKey } from "@waku/rln/dist/rln.js";
import { utils } from "js-waku";
import Button from "@mui/material/Button";
import ConnectWallet from "./ConnectWallet";
import { ethers } from "ethers";
function App() {
// RLN
const [rlnInstance, setRlnInstance] = useState<RLNInstance>();
const [membershipKey, setMembershipKey] = useState<MembershipKey>();
const [rlnKey, setRlnKey] = useState<string>();
const [rlnCommitment, setRlnCommitment] = useState<string>();
// Wallet
const [provider, setProvider] = useState<ethers.providers.Web3Provider>();
const [address, setAddress] = useState<string>();
const [network, setNetwork] = useState<string>();
useEffect(() => {
if (rlnInstance) return;
@ -30,12 +38,25 @@ function App() {
setRlnCommitment(_rlnCommitment);
}, [membershipKey]);
useEffect(() => {
if (!provider) return;
(async () => {
const _network = await provider.detectNetwork();
setNetwork(_network.name);
})();
}, [provider]);
return (
<div className="App">
<h2>RLN Credentials:</h2>
<p>key: {rlnKey}</p>
<p>commitment: {rlnCommitment}</p>
<Generate rlnInstance={rlnInstance} setMembershipKey={setMembershipKey} />
<h2>Wallet</h2>
<p>network: {network}</p>
<p>address: {address}</p>
<ConnectWallet setAddress={setAddress} setProvider={setProvider} />
</div>
);
}

View File

@ -0,0 +1,29 @@
import Button from "@mui/material/Button";
import React from "react";
import { ethers } from "ethers";
declare let window: any;
interface Props {
setAddress: (address: string) => void;
setProvider: (provider: ethers.providers.Web3Provider) => void;
}
export default function ConnectWallet({ setAddress, setProvider }: Props) {
const connectWallet = async () => {
try {
const provider = new ethers.providers.Web3Provider(window.ethereum);
const accounts = await provider.send("eth_requestAccounts", []);
setAddress(accounts[0]);
setProvider(provider);
} catch (e) {
console.error("No web3 provider available", e);
}
};
return (
<Button variant="contained" color="primary" onClick={connectWallet}>
Connect Wallet
</Button>
);
}