diff --git a/package-lock.json b/package-lock.json index 6cc5622..76f344c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,7 +19,7 @@ "@radix-ui/react-toggle": "^1.1.2", "@radix-ui/react-toggle-group": "^1.1.2", "@radix-ui/react-tooltip": "^1.1.8", - "@waku/rln": "0.1.10-593bc45.0", + "@waku/rln": "0.1.11-44ad556.0", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "framer-motion": "^12.6.3", @@ -30,7 +30,8 @@ "react-dom": "^19.0.0", "react-markdown": "^10.1.0", "sonner": "^2.0.3", - "tailwind-merge": "^3.1.0" + "tailwind-merge": "^3.1.0", + "viem": "^2.21.54" }, "devDependencies": { "@eslint/eslintrc": "^3", @@ -45,6 +46,12 @@ "typescript": "^5" } }, + "node_modules/@adraffy/ens-normalize": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.11.1.tgz", + "integrity": "sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ==", + "license": "MIT" + }, "node_modules/@alloc/quick-lru": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", @@ -324,164 +331,6 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@ethersproject/abi": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.8.0.tgz", - "integrity": "sha512-b9YS/43ObplgyV6SlyQsG53/vkSal0MNA1fskSC4mbnCMi8R+NkcH8K9FPYNESf6jUefBUniE4SOKms0E/KK1Q==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@ethersproject/address": "^5.8.0", - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/constants": "^5.8.0", - "@ethersproject/hash": "^5.8.0", - "@ethersproject/keccak256": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/strings": "^5.8.0" - } - }, - "node_modules/@ethersproject/abstract-provider": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.8.0.tgz", - "integrity": "sha512-wC9SFcmh4UK0oKuLJQItoQdzS/qZ51EJegK6EmAWlh+OptpQ/npECOR3QqECd8iGHC0RJb4WKbVdSfif4ammrg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/networks": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/transactions": "^5.8.0", - "@ethersproject/web": "^5.8.0" - } - }, - "node_modules/@ethersproject/abstract-signer": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.8.0.tgz", - "integrity": "sha512-N0XhZTswXcmIZQdYtUnd79VJzvEwXQw6PK0dTl9VoYrEBxxCPXqS0Eod7q5TNKRxe1/5WUMuR0u0nqTF/avdCA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@ethersproject/abstract-provider": "^5.8.0", - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/properties": "^5.8.0" - } - }, - "node_modules/@ethersproject/address": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.8.0.tgz", - "integrity": "sha512-GhH/abcC46LJwshoN+uBNoKVFPxUuZm6dA257z0vZkKmU1+t8xTn8oK7B9qrj8W2rFRMch4gbJl6PmVxjxBEBA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/keccak256": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/rlp": "^5.8.0" - } - }, - "node_modules/@ethersproject/base64": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.8.0.tgz", - "integrity": "sha512-lN0oIwfkYj9LbPx4xEkie6rAMJtySbpOAFXSDVQaBnAzYfB4X2Qr+FXJGxMoc3Bxp2Sm8OwvzMrywxyw0gLjIQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@ethersproject/bytes": "^5.8.0" - } - }, - "node_modules/@ethersproject/basex": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.8.0.tgz", - "integrity": "sha512-PIgTszMlDRmNwW9nhS6iqtVfdTAKosA7llYXNmGPw4YAI1PUyMv28988wAb41/gHF/WqGdoLv0erHaRcHRKW2Q==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/properties": "^5.8.0" - } - }, - "node_modules/@ethersproject/bignumber": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.8.0.tgz", - "integrity": "sha512-ZyaT24bHaSeJon2tGPKIiHszWjD/54Sz8t57Toch475lCLljC6MgPmxk7Gtzz+ddNN5LuHea9qhAe0x3D+uYPA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "bn.js": "^5.2.1" - } - }, "node_modules/@ethersproject/bytes": { "version": "5.8.0", "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.8.0.tgz", @@ -501,161 +350,6 @@ "@ethersproject/logger": "^5.8.0" } }, - "node_modules/@ethersproject/constants": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.8.0.tgz", - "integrity": "sha512-wigX4lrf5Vu+axVTIvNsuL6YrV4O5AXl5ubcURKMEME5TnWBouUh0CDTWxZ2GpnRn1kcCgE7l8O5+VbV9QTTcg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@ethersproject/bignumber": "^5.8.0" - } - }, - "node_modules/@ethersproject/contracts": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.8.0.tgz", - "integrity": "sha512-0eFjGz9GtuAi6MZwhb4uvUM216F38xiuR0yYCjKJpNfSEy4HUM8hvqqBj9Jmm0IUz8l0xKEhWwLIhPgxNY0yvQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@ethersproject/abi": "^5.8.0", - "@ethersproject/abstract-provider": "^5.8.0", - "@ethersproject/abstract-signer": "^5.8.0", - "@ethersproject/address": "^5.8.0", - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/constants": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/transactions": "^5.8.0" - } - }, - "node_modules/@ethersproject/hash": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.8.0.tgz", - "integrity": "sha512-ac/lBcTbEWW/VGJij0CNSw/wPcw9bSRgCB0AIBz8CvED/jfvDoV9hsIIiWfvWmFEi8RcXtlNwp2jv6ozWOsooA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@ethersproject/abstract-signer": "^5.8.0", - "@ethersproject/address": "^5.8.0", - "@ethersproject/base64": "^5.8.0", - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/keccak256": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/strings": "^5.8.0" - } - }, - "node_modules/@ethersproject/hdnode": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.8.0.tgz", - "integrity": "sha512-4bK1VF6E83/3/Im0ERnnUeWOY3P1BZml4ZD3wcH8Ys0/d1h1xaFt6Zc+Dh9zXf9TapGro0T4wvO71UTCp3/uoA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@ethersproject/abstract-signer": "^5.8.0", - "@ethersproject/basex": "^5.8.0", - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/pbkdf2": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/sha2": "^5.8.0", - "@ethersproject/signing-key": "^5.8.0", - "@ethersproject/strings": "^5.8.0", - "@ethersproject/transactions": "^5.8.0", - "@ethersproject/wordlists": "^5.8.0" - } - }, - "node_modules/@ethersproject/json-wallets": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.8.0.tgz", - "integrity": "sha512-HxblNck8FVUtNxS3VTEYJAcwiKYsBIF77W15HufqlBF9gGfhmYOJtYZp8fSDZtn9y5EaXTE87zDwzxRoTFk11w==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@ethersproject/abstract-signer": "^5.8.0", - "@ethersproject/address": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/hdnode": "^5.8.0", - "@ethersproject/keccak256": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/pbkdf2": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/random": "^5.8.0", - "@ethersproject/strings": "^5.8.0", - "@ethersproject/transactions": "^5.8.0", - "aes-js": "3.0.0", - "scrypt-js": "3.0.1" - } - }, - "node_modules/@ethersproject/keccak256": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.8.0.tgz", - "integrity": "sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@ethersproject/bytes": "^5.8.0", - "js-sha3": "0.8.0" - } - }, "node_modules/@ethersproject/logger": { "version": "5.8.0", "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.8.0.tgz", @@ -672,122 +366,6 @@ ], "license": "MIT" }, - "node_modules/@ethersproject/networks": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.8.0.tgz", - "integrity": "sha512-egPJh3aPVAzbHwq8DD7Po53J4OUSsA1MjQp8Vf/OZPav5rlmWUaFLiq8cvQiGK0Z5K6LYzm29+VA/p4RL1FzNg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@ethersproject/logger": "^5.8.0" - } - }, - "node_modules/@ethersproject/pbkdf2": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.8.0.tgz", - "integrity": "sha512-wuHiv97BrzCmfEaPbUFpMjlVg/IDkZThp9Ri88BpjRleg4iePJaj2SW8AIyE8cXn5V1tuAaMj6lzvsGJkGWskg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/sha2": "^5.8.0" - } - }, - "node_modules/@ethersproject/properties": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.8.0.tgz", - "integrity": "sha512-PYuiEoQ+FMaZZNGrStmN7+lWjlsoufGIHdww7454FIaGdbe/p5rnaCXTr5MtBYl3NkeoVhHZuyzChPeGeKIpQw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@ethersproject/logger": "^5.8.0" - } - }, - "node_modules/@ethersproject/providers": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.8.0.tgz", - "integrity": "sha512-3Il3oTzEx3o6kzcg9ZzbE+oCZYyY+3Zh83sKkn4s1DZfTUjIegHnN2Cm0kbn9YFy45FDVcuCLLONhU7ny0SsCw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@ethersproject/abstract-provider": "^5.8.0", - "@ethersproject/abstract-signer": "^5.8.0", - "@ethersproject/address": "^5.8.0", - "@ethersproject/base64": "^5.8.0", - "@ethersproject/basex": "^5.8.0", - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/constants": "^5.8.0", - "@ethersproject/hash": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/networks": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/random": "^5.8.0", - "@ethersproject/rlp": "^5.8.0", - "@ethersproject/sha2": "^5.8.0", - "@ethersproject/strings": "^5.8.0", - "@ethersproject/transactions": "^5.8.0", - "@ethersproject/web": "^5.8.0", - "bech32": "1.1.4", - "ws": "8.18.0" - } - }, - "node_modules/@ethersproject/random": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.8.0.tgz", - "integrity": "sha512-E4I5TDl7SVqyg4/kkA/qTfuLWAQGXmSOgYyO01So8hLfwgKvYK5snIlzxJMk72IFdG/7oh8yuSqY2KX7MMwg+A==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/logger": "^5.8.0" - } - }, "node_modules/@ethersproject/rlp": { "version": "5.8.0", "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.8.0.tgz", @@ -808,223 +386,6 @@ "@ethersproject/logger": "^5.8.0" } }, - "node_modules/@ethersproject/sha2": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.8.0.tgz", - "integrity": "sha512-dDOUrXr9wF/YFltgTBYS0tKslPEKr6AekjqDW2dbn1L1xmjGR+9GiKu4ajxovnrDbwxAKdHjW8jNcwfz8PAz4A==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "hash.js": "1.1.7" - } - }, - "node_modules/@ethersproject/signing-key": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.8.0.tgz", - "integrity": "sha512-LrPW2ZxoigFi6U6aVkFN/fa9Yx/+4AtIUe4/HACTvKJdhm0eeb107EVCIQcrLZkxaSIgc/eCrX8Q1GtbH+9n3w==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "bn.js": "^5.2.1", - "elliptic": "6.6.1", - "hash.js": "1.1.7" - } - }, - "node_modules/@ethersproject/solidity": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.8.0.tgz", - "integrity": "sha512-4CxFeCgmIWamOHwYN9d+QWGxye9qQLilpgTU0XhYs1OahkclF+ewO+3V1U0mvpiuQxm5EHHmv8f7ClVII8EHsA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/keccak256": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/sha2": "^5.8.0", - "@ethersproject/strings": "^5.8.0" - } - }, - "node_modules/@ethersproject/strings": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.8.0.tgz", - "integrity": "sha512-qWEAk0MAvl0LszjdfnZ2uC8xbR2wdv4cDabyHiBh3Cldq/T8dPH3V4BbBsAYJUeonwD+8afVXld274Ls+Y1xXg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/constants": "^5.8.0", - "@ethersproject/logger": "^5.8.0" - } - }, - "node_modules/@ethersproject/transactions": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.8.0.tgz", - "integrity": "sha512-UglxSDjByHG0TuU17bDfCemZ3AnKO2vYrL5/2n2oXvKzvb7Cz+W9gOWXKARjp2URVwcWlQlPOEQyAviKwT4AHg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@ethersproject/address": "^5.8.0", - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/constants": "^5.8.0", - "@ethersproject/keccak256": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/rlp": "^5.8.0", - "@ethersproject/signing-key": "^5.8.0" - } - }, - "node_modules/@ethersproject/units": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.8.0.tgz", - "integrity": "sha512-lxq0CAnc5kMGIiWW4Mr041VT8IhNM+Pn5T3haO74XZWFulk7wH1Gv64HqE96hT4a7iiNMdOCFEBgaxWuk8ETKQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/constants": "^5.8.0", - "@ethersproject/logger": "^5.8.0" - } - }, - "node_modules/@ethersproject/wallet": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.8.0.tgz", - "integrity": "sha512-G+jnzmgg6UxurVKRKvw27h0kvG75YKXZKdlLYmAHeF32TGUzHkOFd7Zn6QHOTYRFWnfjtSSFjBowKo7vfrXzPA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@ethersproject/abstract-provider": "^5.8.0", - "@ethersproject/abstract-signer": "^5.8.0", - "@ethersproject/address": "^5.8.0", - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/hash": "^5.8.0", - "@ethersproject/hdnode": "^5.8.0", - "@ethersproject/json-wallets": "^5.8.0", - "@ethersproject/keccak256": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/random": "^5.8.0", - "@ethersproject/signing-key": "^5.8.0", - "@ethersproject/transactions": "^5.8.0", - "@ethersproject/wordlists": "^5.8.0" - } - }, - "node_modules/@ethersproject/web": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.8.0.tgz", - "integrity": "sha512-j7+Ksi/9KfGviws6Qtf9Q7KCqRhpwrYKQPs+JBA/rKVFF/yaWLHJEH3zfVP2plVu+eys0d2DlFmhoQJayFewcw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@ethersproject/base64": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/strings": "^5.8.0" - } - }, - "node_modules/@ethersproject/wordlists": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.8.0.tgz", - "integrity": "sha512-2df9bbXicZws2Sb5S6ET493uJ0Z84Fjr3pC4tu/qlnZERibZCeUVuqdtt+7Tv9xxhUxHoIekIA7avrKUWHrezg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/hash": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/strings": "^5.8.0" - } - }, "node_modules/@floating-ui/core": { "version": "1.6.9", "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.9.tgz", @@ -1292,12 +653,12 @@ "license": "MIT" }, "node_modules/@libp2p/crypto": { - "version": "5.1.11", - "resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-5.1.11.tgz", - "integrity": "sha512-J+C4bntXEhf43fJZbgyoa4XI8/kzwB5wE/2FoNQcwhIwgDd4YyRB1SHswgI0KWqF0pgKtFLE+sLnUBn/ZYUTjw==", + "version": "5.1.13", + "resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-5.1.13.tgz", + "integrity": "sha512-8NN9cQP3jDn+p9+QE9ByiEoZ2lemDFf/unTgiKmS3JF93ph240EUVdbCyyEgOMfykzb0okTM4gzvwfx9osJebQ==", "license": "Apache-2.0 OR MIT", "dependencies": { - "@libp2p/interface": "^3.0.1", + "@libp2p/interface": "^3.1.0", "@noble/curves": "^2.0.1", "@noble/hashes": "^2.0.1", "multiformats": "^13.4.0", @@ -1307,9 +668,9 @@ } }, "node_modules/@libp2p/crypto/node_modules/@libp2p/interface": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-3.0.1.tgz", - "integrity": "sha512-Fc502I77E+vLiADk7PyydM3NwW6F1HCQGhhtbzi9jLb+X8KgVBL3wlPqWXVM8fyQ++4CpOcAyMel8UYhIXr26w==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-3.1.0.tgz", + "integrity": "sha512-RE7/XyvC47fQBe1cHxhMvepYKa5bFCUyFrrpj8PuM0E7JtzxU7F+Du5j4VXbg2yLDcToe0+j8mB7jvwE2AThYw==", "license": "Apache-2.0 OR MIT", "dependencies": { "@multiformats/dns": "^1.0.6", @@ -1471,15 +832,15 @@ } }, "node_modules/@multiformats/dns": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@multiformats/dns/-/dns-1.0.9.tgz", - "integrity": "sha512-Ja4hevWI9p96ICx11K3suFvFirnMmXILzS7FpsR2KG3FoKF/XJijm8ylf3vY6kRFGr98yfZYM+zIn18KaINs3A==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/@multiformats/dns/-/dns-1.0.10.tgz", + "integrity": "sha512-6X200ceQLns0b/CU0S/So16tGjB5eIXHJ1xvJMPoWaKFHWSgfpW2EhkWJrqap4U3+c37zcowVR0ToPXeYEL7Vw==", "license": "Apache-2.0 OR MIT", "dependencies": { "buffer": "^6.0.3", "dns-packet": "^5.6.1", "hashlru": "^2.3.0", - "p-queue": "^8.0.1", + "p-queue": "^9.0.0", "progress-events": "^1.0.0", "uint8arrays": "^5.0.2" } @@ -2993,18 +2354,45 @@ "darwin" ] }, + "node_modules/@wagmi/core": { + "version": "2.22.1", + "resolved": "https://registry.npmjs.org/@wagmi/core/-/core-2.22.1.tgz", + "integrity": "sha512-cG/xwQWsBEcKgRTkQVhH29cbpbs/TdcUJVFXCyri3ZknxhMyGv0YEjTcrNpRgt2SaswL1KrvslSNYKKo+5YEAg==", + "license": "MIT", + "dependencies": { + "eventemitter3": "5.0.1", + "mipd": "0.0.7", + "zustand": "5.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/wevm" + }, + "peerDependencies": { + "@tanstack/query-core": ">=5.0.0", + "typescript": ">=5.0.4", + "viem": "2.x" + }, + "peerDependenciesMeta": { + "@tanstack/query-core": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, "node_modules/@waku/core": { - "version": "0.0.40-593bc45.0", - "resolved": "https://registry.npmjs.org/@waku/core/-/core-0.0.40-593bc45.0.tgz", - "integrity": "sha512-STERLmw+lNFOUynRrdD33E4cwAEBTTobdaGcERJhfeeaipvQYmoQ5PQpnJLh34kV1wka1Jl+5EW4oj6SHFaRHw==", + "version": "0.0.41-44ad556.0", + "resolved": "https://registry.npmjs.org/@waku/core/-/core-0.0.41-44ad556.0.tgz", + "integrity": "sha512-4mJXHJFSi8mAikaYzfjzvP/oX1WYC1LJjdkzdRsqdJit9hiIPTbeUGXHWV7H9625fr/7RZVSFmeSuhGf0DNIoQ==", "license": "MIT OR Apache-2.0", "dependencies": { "@libp2p/ping": "2.0.35", "@noble/hashes": "^1.3.2", - "@waku/enr": "0.0.34-593bc45.0", - "@waku/interfaces": "0.0.35-593bc45.0", - "@waku/proto": "0.0.15-593bc45.0", - "@waku/utils": "0.0.28-593bc45.0", + "@waku/enr": "0.0.34-44ad556.0", + "@waku/interfaces": "0.0.35-44ad556.0", + "@waku/proto": "0.0.16-44ad556.0", + "@waku/utils": "0.0.28-44ad556.0", "debug": "^4.3.4", "it-all": "^3.0.4", "it-length-prefixed": "^9.0.4", @@ -3042,9 +2430,9 @@ } }, "node_modules/@waku/enr": { - "version": "0.0.34-593bc45.0", - "resolved": "https://registry.npmjs.org/@waku/enr/-/enr-0.0.34-593bc45.0.tgz", - "integrity": "sha512-59lJhBOUUXcIJJo6ApUz3ntUUn1PGSFs8dbfuN/0TRreexjzcmwrrX0TKX2hfUoJlY670D9YnbZuaeT3oCO/1Q==", + "version": "0.0.34-44ad556.0", + "resolved": "https://registry.npmjs.org/@waku/enr/-/enr-0.0.34-44ad556.0.tgz", + "integrity": "sha512-CMSch/jK/nYMQlYkc4Ap/AfAVz24CTUFOOS1Bxm2H/sc1Zmz8WcYLzuo4N4ifZ4wL+MeJrGm2v2inmdOKsFx+w==", "license": "MIT OR Apache-2.0", "dependencies": { "@ethersproject/rlp": "^5.7.0", @@ -3052,7 +2440,7 @@ "@libp2p/peer-id": "5.1.7", "@multiformats/multiaddr": "^12.0.0", "@noble/secp256k1": "^1.7.1", - "@waku/utils": "0.0.28-593bc45.0", + "@waku/utils": "0.0.28-44ad556.0", "debug": "^4.3.4", "js-sha3": "^0.9.2" }, @@ -3122,25 +2510,19 @@ "url": "https://paulmillr.com/funding/" } }, - "node_modules/@waku/enr/node_modules/js-sha3": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.9.3.tgz", - "integrity": "sha512-BcJPCQeLg6WjEx3FE591wVAevlli8lxsxm9/FzV4HXkV49TmBH38Yvrpce6fjbADGMKFrBMGTqrVz3qPIZ88Gg==", - "license": "MIT" - }, "node_modules/@waku/interfaces": { - "version": "0.0.35-593bc45.0", - "resolved": "https://registry.npmjs.org/@waku/interfaces/-/interfaces-0.0.35-593bc45.0.tgz", - "integrity": "sha512-BAQs7Qbm3Vbb8ZMcH0b/7RaA0c39HChuU9aHrNYWemwcZ7ZmQbJPGGQmRqnQkPpWJs0eo0VRPTjZbnE9Vi6I+Q==", + "version": "0.0.35-44ad556.0", + "resolved": "https://registry.npmjs.org/@waku/interfaces/-/interfaces-0.0.35-44ad556.0.tgz", + "integrity": "sha512-t1f557WXcVHohzKdKnsv+L6uSOZrnbGL9Lw2023lkn8/vHjyipO2OoT69J26nlX5wOtjksdqZyWEvaRH9/dNtg==", "license": "MIT OR Apache-2.0", "engines": { "node": ">=22" } }, "node_modules/@waku/proto": { - "version": "0.0.15-593bc45.0", - "resolved": "https://registry.npmjs.org/@waku/proto/-/proto-0.0.15-593bc45.0.tgz", - "integrity": "sha512-fGYt25PvZBZv0EBjvLVzopFBkum3iUQs+1Kjyju3cA5zULA4FH2G8CMmBts81rH0EpGSi/eeUal119+kuctZHw==", + "version": "0.0.16-44ad556.0", + "resolved": "https://registry.npmjs.org/@waku/proto/-/proto-0.0.16-44ad556.0.tgz", + "integrity": "sha512-u1K03anZQa31PYlSFVQFZkb+ffa1p+BjuhHGRXZax9t+Qgyg2EnsIG2IFMNkDSUMEnhTdxuAl1oEmuAr69ywtA==", "license": "MIT OR Apache-2.0", "dependencies": { "protons-runtime": "^5.4.0" @@ -3150,38 +2532,39 @@ } }, "node_modules/@waku/rln": { - "version": "0.1.10-593bc45.0", - "resolved": "https://registry.npmjs.org/@waku/rln/-/rln-0.1.10-593bc45.0.tgz", - "integrity": "sha512-nkUcwfosKDXSsqzxBzTV+x9Iiuo0Ti5vVLQP8MnWttf4FuJxR8hKcde9+hvkzZZTZntn6TEQaYFzG3KOAC2kcA==", + "version": "0.1.11-44ad556.0", + "resolved": "https://registry.npmjs.org/@waku/rln/-/rln-0.1.11-44ad556.0.tgz", + "integrity": "sha512-28xhhs+rokw8otGIWbPGDGpLPlvXJ+n3yuZTeU7DoGR0kkMoAnUu0wqPMdhbPITAj3oEIEjfHjOoOA67l/rKzQ==", "license": "MIT OR Apache-2.0", "dependencies": { "@chainsafe/bls-keystore": "3.0.0", "@noble/hashes": "^1.2.0", - "@waku/core": "0.0.40-593bc45.0", - "@waku/utils": "0.0.28-593bc45.0", + "@wagmi/core": "^2.22.1", + "@waku/core": "0.0.41-44ad556.0", + "@waku/utils": "0.0.28-44ad556.0", "@waku/zerokit-rln-wasm": "^0.2.1", "chai": "^5.1.2", "chai-as-promised": "^8.0.1", "chai-spies": "^1.1.0", "chai-subset": "^1.6.0", "ethereum-cryptography": "^3.1.0", - "ethers": "^5.7.2", "lodash": "^4.17.21", "sinon": "^19.0.2", - "uuid": "^11.0.5" + "uuid": "^11.0.5", + "viem": "^2.38.4" }, "engines": { "node": ">=22" } }, "node_modules/@waku/utils": { - "version": "0.0.28-593bc45.0", - "resolved": "https://registry.npmjs.org/@waku/utils/-/utils-0.0.28-593bc45.0.tgz", - "integrity": "sha512-m4FEzl89cVx6dCQYd15VxRmeqT1DTodHEAS4st7UMdNwaURGWeADbw37NPRc0wHu6LocQYQshJEP1eXtbTkmwg==", + "version": "0.0.28-44ad556.0", + "resolved": "https://registry.npmjs.org/@waku/utils/-/utils-0.0.28-44ad556.0.tgz", + "integrity": "sha512-vaA4rOLp1UvxA6buqnWsj6TSfsrDTwLN6TNEoeechk7zppfqnURaRKc/xrSbWVjK7lgOJZFCuvDrHR/pls5gFw==", "license": "MIT OR Apache-2.0", "dependencies": { "@noble/hashes": "^1.3.2", - "@waku/interfaces": "0.0.35-593bc45.0", + "@waku/interfaces": "0.0.35-44ad556.0", "chai": "^4.3.10", "debug": "^4.3.4", "uint8arrays": "^5.0.1" @@ -3265,6 +2648,27 @@ "integrity": "sha512-2Xp7e92y4qZpsiTPGBSVr4gVJ9mJTLaudlo0DQxNpxJUBtoJKpxdH5xDCQDiorbkWZC2j9EId+ohhxHO/xC1QQ==", "license": "MIT or Apache2" }, + "node_modules/abitype": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/abitype/-/abitype-1.1.0.tgz", + "integrity": "sha512-6Vh4HcRxNMLA0puzPjM5GBgT4aAcFGKZzSgAXvuZ27shJP6NEpielTuqbBmZILR5/xd0PizkBGy5hReKz9jl5A==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/wevm" + }, + "peerDependencies": { + "typescript": ">=5.0.4", + "zod": "^3.22.0 || ^4.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "zod": { + "optional": true + } + } + }, "node_modules/abort-error": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/abort-error/-/abort-error-1.0.1.tgz", @@ -3294,12 +2698,6 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/aes-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", - "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==", - "license": "MIT" - }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -3667,12 +3065,6 @@ ], "license": "MIT" }, - "node_modules/bech32": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", - "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==", - "license": "MIT" - }, "node_modules/binary-extensions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", @@ -3686,12 +3078,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "license": "MIT" - }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -3716,12 +3102,6 @@ "node": ">=8" } }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", - "license": "MIT" - }, "node_modules/buffer": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", @@ -4393,27 +3773,6 @@ "dev": true, "license": "MIT" }, - "node_modules/elliptic": { - "version": "6.6.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz", - "integrity": "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==", - "license": "MIT", - "dependencies": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", - "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==", - "license": "MIT" - }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -5108,54 +4467,6 @@ "url": "https://paulmillr.com/funding/" } }, - "node_modules/ethers": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.8.0.tgz", - "integrity": "sha512-DUq+7fHrCg1aPDFCHx6UIPb3nmt2XMpM7Y/g2gLhsl3lIBqeAfOJIl1qEvRf2uq3BiKxmh6Fh5pfp2ieyek7Kg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@ethersproject/abi": "5.8.0", - "@ethersproject/abstract-provider": "5.8.0", - "@ethersproject/abstract-signer": "5.8.0", - "@ethersproject/address": "5.8.0", - "@ethersproject/base64": "5.8.0", - "@ethersproject/basex": "5.8.0", - "@ethersproject/bignumber": "5.8.0", - "@ethersproject/bytes": "5.8.0", - "@ethersproject/constants": "5.8.0", - "@ethersproject/contracts": "5.8.0", - "@ethersproject/hash": "5.8.0", - "@ethersproject/hdnode": "5.8.0", - "@ethersproject/json-wallets": "5.8.0", - "@ethersproject/keccak256": "5.8.0", - "@ethersproject/logger": "5.8.0", - "@ethersproject/networks": "5.8.0", - "@ethersproject/pbkdf2": "5.8.0", - "@ethersproject/properties": "5.8.0", - "@ethersproject/providers": "5.8.0", - "@ethersproject/random": "5.8.0", - "@ethersproject/rlp": "5.8.0", - "@ethersproject/sha2": "5.8.0", - "@ethersproject/signing-key": "5.8.0", - "@ethersproject/solidity": "5.8.0", - "@ethersproject/strings": "5.8.0", - "@ethersproject/transactions": "5.8.0", - "@ethersproject/units": "5.8.0", - "@ethersproject/wallet": "5.8.0", - "@ethersproject/web": "5.8.0", - "@ethersproject/wordlists": "5.8.0" - } - }, "node_modules/eventemitter3": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", @@ -5679,16 +4990,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, "node_modules/hashlru": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/hashlru/-/hashlru-2.3.0.tgz", @@ -5748,17 +5049,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "license": "MIT", - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, "node_modules/html-url-attributes": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.1.tgz", @@ -5826,12 +5116,6 @@ "node": ">=0.8.19" } }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "license": "ISC" - }, "node_modules/inline-style-parser": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.4.tgz", @@ -6363,6 +5647,21 @@ "dev": true, "license": "ISC" }, + "node_modules/isows": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/isows/-/isows-1.0.7.tgz", + "integrity": "sha512-I1fSfDCZL5P0v33sVqeTDSpcstAg/N+wF5HS033mogOVIp4B+oHC7oOCsA3axAbBSGTJ8QubbNmnIRN/h8U7hg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "license": "MIT", + "peerDependencies": { + "ws": "*" + } + }, "node_modules/it-all": { "version": "3.0.9", "resolved": "https://registry.npmjs.org/it-all/-/it-all-3.0.9.tgz", @@ -6523,9 +5822,9 @@ } }, "node_modules/js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.9.3.tgz", + "integrity": "sha512-BcJPCQeLg6WjEx3FE591wVAevlli8lxsxm9/FzV4HXkV49TmBH38Yvrpce6fjbADGMKFrBMGTqrVz3qPIZ88Gg==", "license": "MIT" }, "node_modules/js-tokens": { @@ -7383,18 +6682,6 @@ "node": ">=8.6" } }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "license": "ISC" - }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", - "license": "MIT" - }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -7428,6 +6715,26 @@ "node": ">=16 || 14 >=14.17" } }, + "node_modules/mipd": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mipd/-/mipd-0.0.7.tgz", + "integrity": "sha512-aAPZPNDQ3uMTdKbuO2YmAw2TxLHO0moa4YKAyETM/DTj5FloZo+a+8tU+iv4GmW+sOxKLSRwcSFuczk+Cpt6fg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wagmi-dev" + } + ], + "license": "MIT", + "peerDependencies": { + "typescript": ">=5.0.4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/motion-dom": { "version": "12.7.4", "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.7.4.tgz", @@ -7785,6 +7092,111 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/ox": { + "version": "0.9.6", + "resolved": "https://registry.npmjs.org/ox/-/ox-0.9.6.tgz", + "integrity": "sha512-8SuCbHPvv2eZLYXrNmC0EC12rdzXQLdhnOMlHDW2wiCPLxBrOOJwX5L5E61by+UjTPOryqQiRSnjIKCI+GykKg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "license": "MIT", + "dependencies": { + "@adraffy/ens-normalize": "^1.11.0", + "@noble/ciphers": "^1.3.0", + "@noble/curves": "1.9.1", + "@noble/hashes": "^1.8.0", + "@scure/bip32": "^1.7.0", + "@scure/bip39": "^1.6.0", + "abitype": "^1.0.9", + "eventemitter3": "5.0.1" + }, + "peerDependencies": { + "typescript": ">=5.4.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/ox/node_modules/@noble/ciphers": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-1.3.0.tgz", + "integrity": "sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ox/node_modules/@noble/curves": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.1.tgz", + "integrity": "sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.8.0" + }, + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ox/node_modules/@noble/hashes": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ox/node_modules/@scure/base": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.2.6.tgz", + "integrity": "sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==", + "license": "MIT", + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ox/node_modules/@scure/bip32": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.7.0.tgz", + "integrity": "sha512-E4FFX/N3f4B80AKWp5dP6ow+flD1LQZo/w8UnLGYZO674jS6YnYeepycOOksv+vLPSpgN35wgKgy+ybfTb2SMw==", + "license": "MIT", + "dependencies": { + "@noble/curves": "~1.9.0", + "@noble/hashes": "~1.8.0", + "@scure/base": "~1.2.5" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ox/node_modules/@scure/bip39": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.6.0.tgz", + "integrity": "sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "~1.8.0", + "@scure/base": "~1.2.5" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/p-defer": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-4.0.1.tgz", @@ -7830,28 +7242,28 @@ } }, "node_modules/p-queue": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.1.1.tgz", - "integrity": "sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-9.0.0.tgz", + "integrity": "sha512-KO1RyxstL9g1mK76530TExamZC/S2Glm080Nx8PE5sTd7nlduDQsAfEl4uXX+qZjLiwvDauvzXavufy3+rJ9zQ==", "license": "MIT", "dependencies": { "eventemitter3": "^5.0.1", - "p-timeout": "^6.1.2" + "p-timeout": "^7.0.0" }, "engines": { - "node": ">=18" + "node": ">=20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-timeout": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.4.tgz", - "integrity": "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-7.0.1.tgz", + "integrity": "sha512-AxTM2wDGORHGEkPCt8yqxOTMgpfbEHqF51f/5fJCmwFC3C/zNcGT63SymH2ttOAaiIws2zVg4+izQCjrakcwHg==", "license": "MIT", "engines": { - "node": ">=14.16" + "node": ">=20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -8619,12 +8031,6 @@ "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==", "license": "MIT" }, - "node_modules/scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==", - "license": "MIT" - }, "node_modules/semver": { "version": "7.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", @@ -9562,7 +8968,7 @@ "version": "5.8.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", - "dev": true, + "devOptional": true, "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", @@ -9842,10 +9248,103 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/viem": { + "version": "2.38.4", + "resolved": "https://registry.npmjs.org/viem/-/viem-2.38.4.tgz", + "integrity": "sha512-qnyPNg6Lz1EEC86si/1dq7GlOyZVFHSgAW+p8Q31R5idnAYCOdTM2q5KLE4/ykMeMXzY0bnp5MWTtR/wjCtWmQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "license": "MIT", + "dependencies": { + "@noble/curves": "1.9.1", + "@noble/hashes": "1.8.0", + "@scure/bip32": "1.7.0", + "@scure/bip39": "1.6.0", + "abitype": "1.1.0", + "isows": "1.0.7", + "ox": "0.9.6", + "ws": "8.18.3" + }, + "peerDependencies": { + "typescript": ">=5.0.4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/viem/node_modules/@noble/curves": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.1.tgz", + "integrity": "sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.8.0" + }, + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/viem/node_modules/@noble/hashes": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/viem/node_modules/@scure/base": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.2.6.tgz", + "integrity": "sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==", + "license": "MIT", + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/viem/node_modules/@scure/bip32": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.7.0.tgz", + "integrity": "sha512-E4FFX/N3f4B80AKWp5dP6ow+flD1LQZo/w8UnLGYZO674jS6YnYeepycOOksv+vLPSpgN35wgKgy+ybfTb2SMw==", + "license": "MIT", + "dependencies": { + "@noble/curves": "~1.9.0", + "@noble/hashes": "~1.8.0", + "@scure/base": "~1.2.5" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/viem/node_modules/@scure/bip39": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.6.0.tgz", + "integrity": "sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "~1.8.0", + "@scure/base": "~1.2.5" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/weald": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/weald/-/weald-1.0.6.tgz", - "integrity": "sha512-sX1PzkcMJZUJ848JbFzB6aKHHglTxqACEnq2KgI75b7vWYvfXFBNbOuDKqFKwCT44CrP6c5r+L4+5GmPnb5/SQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/weald/-/weald-1.1.1.tgz", + "integrity": "sha512-PaEQShzMCz8J/AD2N3dJMc1hTZWkJeLKS2NMeiVkV5KDHwgZe7qXLEzyodsT/SODxWDdXJJqocuwf3kHzcXhSQ==", "license": "Apache-2.0 OR MIT", "dependencies": { "ms": "^3.0.0-canary.1", @@ -10083,9 +9582,9 @@ } }, "node_modules/ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", "license": "MIT", "engines": { "node": ">=10.0.0" @@ -10129,6 +9628,35 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/zustand": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.0.tgz", + "integrity": "sha512-LE+VcmbartOPM+auOjCCLQOsQ05zUTp8RkgwRzefUk+2jISdMMFnxvyTjA4YNWr5ZGXYbVsEMZosttuxUBkojQ==", + "license": "MIT", + "engines": { + "node": ">=12.20.0" + }, + "peerDependencies": { + "@types/react": ">=18.0.0", + "immer": ">=9.0.6", + "react": ">=18.0.0", + "use-sync-external-store": ">=1.2.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "immer": { + "optional": true + }, + "react": { + "optional": true + }, + "use-sync-external-store": { + "optional": true + } + } + }, "node_modules/zwitch": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", diff --git a/package.json b/package.json index 1cdb333..5f999ae 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "@radix-ui/react-toggle": "^1.1.2", "@radix-ui/react-toggle-group": "^1.1.2", "@radix-ui/react-tooltip": "^1.1.8", - "@waku/rln": "0.1.10-593bc45.0", + "@waku/rln": "0.1.11-44ad556.0", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "framer-motion": "^12.6.3", @@ -32,7 +32,8 @@ "react-dom": "^19.0.0", "react-markdown": "^10.1.0", "sonner": "^2.0.3", - "tailwind-merge": "^3.1.0" + "tailwind-merge": "^3.1.0", + "viem": "^2.21.54" }, "devDependencies": { "@eslint/eslintrc": "^3", diff --git a/src/components/MembershipDetails.tsx b/src/components/MembershipDetails.tsx index 0481b2b..e5cc608 100644 --- a/src/components/MembershipDetails.tsx +++ b/src/components/MembershipDetails.tsx @@ -1,7 +1,7 @@ import React, { useState } from 'react'; import { Button } from './ui/button'; import { Copy, Clock, Trash2, Wallet } from 'lucide-react'; -import { ethers } from 'ethers'; +import { formatEther } from 'viem' import { MembershipState } from '@waku/rln'; import { useRLN } from '../contexts/rln/RLNContext'; import { toast } from 'sonner'; @@ -17,7 +17,7 @@ interface MembershipDetailsProps { startBlock: number; endBlock: number; state: MembershipState; - depositAmount: ethers.BigNumber; + depositAmount: bigint; activeDuration: number; gracePeriodDuration: number; holder: string; @@ -273,7 +273,7 @@ export function MembershipDetails({ membershipInfo, copyToClipboard, hash }: Mem
Deposit Amount:
- {membershipInfo.depositAmount ? `${ethers.utils.formatEther(membershipInfo.depositAmount)} ETH` : 'N/A'} + {membershipInfo.depositAmount ? `${formatEther(membershipInfo.depositAmount)} ETH` : 'N/A'}
diff --git a/src/components/Tabs/KeystoreTab/KeystoreManagement.tsx b/src/components/Tabs/KeystoreTab/KeystoreManagement.tsx index 67fee56..3591da5 100644 --- a/src/components/Tabs/KeystoreTab/KeystoreManagement.tsx +++ b/src/components/Tabs/KeystoreTab/KeystoreManagement.tsx @@ -10,7 +10,6 @@ import { Button } from '../../ui/button'; import { Copy, Eye, Download, Trash2, ArrowDownToLine, Pencil, Check, X } from 'lucide-react'; import { KeystoreExporter } from '../../KeystoreExporter'; import { keystoreManagement, type ContentSegment } from '../../../content/index'; -import { ethers } from 'ethers'; import { toast } from 'sonner'; import { CredentialDetails } from '@/components/CredentialDetails'; import { MembershipDetails } from '@/components/MembershipDetails'; @@ -25,7 +24,7 @@ interface ExtendedMembershipInfo extends Omit { startBlock: number; endBlock: number; state: MembershipState; - depositAmount: ethers.BigNumber; + depositAmount: bigint; activeDuration: number; gracePeriodDuration: number; holder: string; diff --git a/src/contexts/rln/RLNContext.tsx b/src/contexts/rln/RLNContext.tsx index 9cf21d7..d1491bc 100644 --- a/src/contexts/rln/RLNContext.tsx +++ b/src/contexts/rln/RLNContext.tsx @@ -1,8 +1,8 @@ "use client"; import { createContext, useContext, useState, useEffect, ReactNode, useCallback } from 'react'; -import { KeystoreEntity, MembershipInfo, RLNInstance, createRLN } from '@waku/rln'; -import { ethers } from 'ethers'; +import { KeystoreEntity, MembershipInfo, RLNInstance, createRLN, createViemClientFromWindow } from '@waku/rln'; +import { formatUnits, parseUnits, maxUint256, PublicActions, WalletClient } from "viem"; import { useKeystore } from '../keystore'; import { useWallet } from '../wallet'; import { ERC20_ABI, LINEA_SEPOLIA_CONFIG, ensureLineaSepoliaNetwork } from '../../utils/network'; @@ -58,8 +58,7 @@ export function RLNProvider({ children }: { children: ReactNode }) { const [error, setError] = useState(null); const [isLoading, setIsLoading] = useState(false); - // Get the signer from window.ethereum - const [signer, setSigner] = useState(null); + const [signer, setSigner] = useState(null); const [isConnected, setIsConnected] = useState(false); const [rateMinLimit, setRateMinLimit] = useState(0); const [rateMaxLimit, setRateMaxLimit] = useState(0); @@ -82,24 +81,13 @@ export function RLNProvider({ children }: { children: ReactNode }) { useEffect(() => { const checkWallet = async () => { try { - if (window.ethereum) { - const provider = new ethers.providers.Web3Provider(window.ethereum); - const accounts = await provider.listAccounts(); - - if (accounts.length > 0) { - const signer = provider.getSigner(); - setSigner(signer); - setIsConnected(true); - return; - } - } - - setSigner(null); - setIsConnected(false); - } catch (err) { + const signer = await createViemClientFromWindow(); + setSigner(signer); + setIsConnected(true); + } catch(err) { console.error("Error checking wallet:", err); setSigner(null); - setIsConnected(false); + setIsConnected(false); } }; @@ -155,7 +143,7 @@ export function RLNProvider({ children }: { children: ReactNode }) { if (currentRln && !isStarted) { console.log("Starting RLN with signer..."); try { - await currentRln.start({ signer }); + await currentRln.start({ walletClient: signer }); setIsStarted(true); console.log("RLN started successfully."); @@ -170,31 +158,6 @@ export function RLNProvider({ children }: { children: ReactNode }) { } else { console.warn("Could not fetch rate limits: undefined values returned."); } - - // Get and log the token address from the contract - try { - const priceInfo = await currentRln.contract.getPriceForRateLimit(300); - if (priceInfo && priceInfo.token) { - console.log("🪙 Token address from RLN contract:", priceInfo.token); - console.log("🪙 Hardcoded token address:", WAKU_TESTNET_TOKEN_ADDRESS); - console.log("🪙 Addresses match:", priceInfo.token.toLowerCase() === WAKU_TESTNET_TOKEN_ADDRESS.toLowerCase()); - - // Check balance using the RLN contract's token address - const userAddress = await signer.getAddress(); - const rlnTokenContract = new ethers.Contract(priceInfo.token, ERC20_ABI, signer); - const rlnTokenBalance = await rlnTokenContract.balanceOf(userAddress); - console.log("💰 Balance from RLN token contract:", ethers.utils.formatUnits(rlnTokenBalance, 18), "tokens"); - - // Also check balance using hardcoded address for comparison - const hardcodedTokenContract = new ethers.Contract(WAKU_TESTNET_TOKEN_ADDRESS, ERC20_ABI, signer); - const hardcodedTokenBalance = await hardcodedTokenContract.balanceOf(userAddress); - console.log("💰 Balance from hardcoded token contract:", ethers.utils.formatUnits(hardcodedTokenBalance, 18), "tokens"); - } else { - console.warn("Could not get token address from RLN contract"); - } - } catch (tokenErr) { - console.warn("Error getting token address from RLN contract:", tokenErr); - } } catch (limitErr) { console.warn("Could not fetch rate limits after start:", limitErr); // Don't fail initialization for this, but log it. @@ -207,24 +170,24 @@ export function RLNProvider({ children }: { children: ReactNode }) { console.error("Error starting RLN:", startErr); // Check if it's a network mismatch error - if (startErr instanceof Error && startErr.message.includes('chain ID of contract is different')) { - console.log("Network mismatch detected, attempting to switch to Linea Sepolia..."); + // if (startErr instanceof Error && startErr.message.includes('chain ID of contract is different')) { + // console.log("Network mismatch detected, attempting to switch to Linea Sepolia..."); - try { - const switched = await ensureLineaSepoliaNetwork(signer); - if (switched) { - setError('Network switched to Linea Sepolia. Please try connecting again.'); - // Don't retry automatically to avoid loops, let user re-trigger - } else { - setError('Please manually switch to Linea Sepolia network in MetaMask and try again.'); - } - } catch (switchErr) { - console.error("Error switching network:", switchErr); - setError('Failed to switch to Linea Sepolia network. Please switch manually in MetaMask.'); - } - } else { - setError(startErr instanceof Error ? startErr.message : 'Failed to start RLN'); - } + // try { + // const switched = await ensureLineaSepoliaNetwork(walletClient); + // if (switched) { + // setError('Network switched to Linea Sepolia. Please try connecting again.'); + // // Don't retry automatically to avoid loops, let user re-trigger + // } else { + // setError('Please manually switch to Linea Sepolia network in MetaMask and try again.'); + // } + // } catch (switchErr) { + // console.error("Error switching network:", switchErr); + // setError('Failed to switch to Linea Sepolia network. Please switch manually in MetaMask.'); + // } + // } else { + // setError(startErr instanceof Error ? startErr.message : 'Failed to start RLN'); + // } setIsStarted(false); } @@ -244,7 +207,7 @@ export function RLNProvider({ children }: { children: ReactNode }) { useEffect(() => { console.log('Auto-init check:', { isConnected, - hasSigner: !!signer, + hasWalletClient: !!signer, isInitialized, isStarted, isLoading @@ -324,7 +287,7 @@ export function RLNProvider({ children }: { children: ReactNode }) { setTokenApprovalStatus(prev => ({ ...prev, isChecking: true })); try { - const userAddress = await signer.getAddress(); + const [userAddress] = await signer.getAddresses(); const contractAddress = rln.contract.address; // Use the hardcoded token address consistently @@ -333,43 +296,50 @@ export function RLNProvider({ children }: { children: ReactNode }) { // Get price info from RLN contract const priceInfo = await rln.contract.getPriceForRateLimit(rateLimit); - // Create token contract instance - const tokenContract = new ethers.Contract( - tokenAddress, - ERC20_ABI, - signer - ); if (!priceInfo.price) { throw new Error("Unable to determine required deposit amount"); } const requiredAmount = priceInfo.price; - const currentAllowance = await tokenContract.allowance(userAddress, contractAddress); + + // Read current allowance from token contract + const currentAllowance = await signer.readContract({ + address: tokenAddress as `0x${string}`, + abi: ERC20_ABI, + functionName: 'allowance', + args: [userAddress, contractAddress as `0x${string}`], + }) as bigint; // Check actual token balance directly from the contract - const actualTokenBalance = await tokenContract.balanceOf(userAddress); - const tokenBalanceStr = ethers.utils.formatUnits(actualTokenBalance, 18); + const actualTokenBalance = await signer.readContract({ + address: tokenAddress as `0x${string}`, + abi: ERC20_ABI, + functionName: 'balanceOf', + args: [userAddress], + }) as bigint; + + const tokenBalanceStr = formatUnits(actualTokenBalance, 18); const tokenBalance = actualTokenBalance; console.log("Token approval check:", { - requiredAmount: ethers.utils.formatUnits(requiredAmount, 18), - currentAllowance: ethers.utils.formatUnits(currentAllowance, 18), + requiredAmount: formatUnits(requiredAmount, 18), + currentAllowance: formatUnits(currentAllowance, 18), tokenBalance: tokenBalanceStr, tokenAddress: tokenAddress, userAddress: userAddress, contractAddress: contractAddress }); - const isApproved = currentAllowance.gte(requiredAmount); + const isApproved = currentAllowance >= requiredAmount; const needsApproval = !isApproved; - const hasEnoughBalance = tokenBalance.gte(requiredAmount); + const hasEnoughBalance = tokenBalance >= requiredAmount; setTokenApprovalStatus({ isApproved, isChecking: false, needsApproval, - requiredAmount: ethers.utils.formatUnits(requiredAmount, 18), - currentAllowance: ethers.utils.formatUnits(currentAllowance, 18), + requiredAmount: formatUnits(requiredAmount, 18), + currentAllowance: formatUnits(currentAllowance, 18), tokenBalance: tokenBalanceStr, hasEnoughBalance, }); @@ -393,42 +363,47 @@ export function RLNProvider({ children }: { children: ReactNode }) { } try { - const userAddress = await signer.getAddress(); + const [userAddress] = await signer.getAddresses(); const contractAddress = rln.contract.address; // Use the hardcoded token address consistently const tokenAddress = WAKU_TESTNET_TOKEN_ADDRESS; - // Create token contract instance - const tokenContract = new ethers.Contract( - tokenAddress, - ERC20_ABI, - signer - ); - // Approve maximum amount for convenience - const approvalAmount = ethers.constants.MaxUint256; - - const approveTx = await tokenContract.approve(contractAddress, approvalAmount); - console.log("Approval transaction submitted:", approveTx.hash); + const approvalAmount = maxUint256; + + const hash = await signer.writeContract({ + address: tokenAddress as `0x${string}`, + abi: ERC20_ABI, + functionName: 'approve', + args: [contractAddress as `0x${string}`, approvalAmount], + chain: signer.chain, + account: userAddress, + }); + console.log("Approval transaction submitted:", hash); // Update status to show approval in progress setTokenApprovalStatus(prev => ({ ...prev, isChecking: true })); // Wait for the transaction to be mined - const receipt = await approveTx.wait(2); + const receipt = await signer.waitForTransactionReceipt({ hash, confirmations: 2 }); console.log("Token approval confirmed in block:", receipt.blockNumber); // Update approval status - const newAllowance = await tokenContract.allowance(userAddress, contractAddress); - const isApproved = newAllowance.gt(0); + const newAllowance = await signer.readContract({ + address: tokenAddress as `0x${string}`, + abi: ERC20_ABI, + functionName: 'allowance', + args: [userAddress, contractAddress as `0x${string}`], + }) as bigint; + const isApproved = newAllowance > BigInt(0); setTokenApprovalStatus(prev => ({ ...prev, isApproved, isChecking: false, needsApproval: !isApproved, - currentAllowance: ethers.utils.formatUnits(newAllowance, 18), + currentAllowance: formatUnits(newAllowance, 18), })); return { success: true }; @@ -452,7 +427,7 @@ export function RLNProvider({ children }: { children: ReactNode }) { } if (!signer) { - return { success: false, error: 'No signer available' }; + return { success: false, error: 'Wallet not connected' }; } try { @@ -472,7 +447,7 @@ export function RLNProvider({ children }: { children: ReactNode }) { } // Get user address and contract address - const userAddress = await signer.getAddress(); + const [userAddress] = await signer.getAddresses(); if (!rln.contract || !rln.contract.address) { return { success: false, error: "RLN contract address not available. Cannot proceed with registration." }; @@ -483,18 +458,11 @@ export function RLNProvider({ children }: { children: ReactNode }) { // Use the hardcoded token address consistently const tokenAddress = WAKU_TESTNET_TOKEN_ADDRESS; - // Create token contract instance - const tokenContract = new ethers.Contract( - tokenAddress, - ERC20_ABI, - signer - ); - // Check balance from wallet context const tokenBalanceStr = wttBalance || "0"; - const tokenBalance = ethers.utils.parseUnits(tokenBalanceStr, 18); + const tokenBalance = parseUnits(tokenBalanceStr, 18); - if (tokenBalance.isZero()) { + if (tokenBalance === BigInt(0)) { return { success: false, error: `You need tokens to register a membership. Your balance is ${tokenBalanceStr} WTT. Please get test tokens.` @@ -509,36 +477,53 @@ export function RLNProvider({ children }: { children: ReactNode }) { return { success: false, error: "Unable to determine deposit amount for rate limit" }; } requiredDeposit = priceInfo.price; - console.log("Required deposit:", ethers.utils.formatUnits(requiredDeposit, 18), "WTT"); + console.log("Required deposit:", formatUnits(requiredDeposit, 18), "WTT"); } catch (priceErr) { console.error("Error getting price for rate limit:", priceErr); return { success: false, error: "Failed to determine required deposit amount" }; } // Check and approve token allowance - const currentAllowance = await tokenContract.allowance(userAddress, contractAddress); - console.log("Current allowance:", ethers.utils.formatUnits(currentAllowance, 18), "WTT"); - console.log("Required deposit:", ethers.utils.formatUnits(requiredDeposit, 18), "WTT"); - - if (currentAllowance.lt(requiredDeposit)) { + const currentAllowance = await signer.readContract({ + address: tokenAddress as `0x${string}`, + abi: ERC20_ABI, + functionName: 'allowance', + args: [userAddress, contractAddress as `0x${string}`], + }) as bigint; + console.log("Current allowance:", formatUnits(currentAllowance, 18), "WTT"); + console.log("Required deposit:", formatUnits(requiredDeposit, 18), "WTT"); + + if (currentAllowance < requiredDeposit) { console.log("Insufficient allowance, requesting token approval..."); // Approve the required amount plus a buffer (or max uint256 for simplicity) - const approvalAmount = ethers.constants.MaxUint256; + const approvalAmount = maxUint256; try { - const approveTx = await tokenContract.approve(contractAddress, approvalAmount); - console.log("Approval transaction submitted:", approveTx.hash); + const hash = await signer.writeContract({ + address: tokenAddress as `0x${string}`, + abi: ERC20_ABI, + functionName: 'approve', + args: [contractAddress as `0x${string}`, approvalAmount], + chain: signer.chain, + account: userAddress, + }); + console.log("Approval transaction submitted:", hash); // Wait for the transaction to be mined with more confirmations - const receipt = await approveTx.wait(2); + const receipt = await signer.waitForTransactionReceipt({ hash, confirmations: 2 }); console.log("Token approval confirmed in block:", receipt.blockNumber); // Verify the approval was successful - const newAllowance = await tokenContract.allowance(userAddress, contractAddress); - console.log("New allowance:", ethers.utils.formatUnits(newAllowance, 18), "WTT"); + const newAllowance = await signer.readContract({ + address: tokenAddress as `0x${string}`, + abi: ERC20_ABI, + functionName: 'allowance', + args: [userAddress, contractAddress as `0x${string}`], + }) as bigint; + console.log("New allowance:", formatUnits(newAllowance, 18), "WTT"); - if (newAllowance.lt(requiredDeposit)) { + if (newAllowance < requiredDeposit) { return { success: false, error: "Token approval failed - insufficient allowance after approval" }; } } catch (approvalErr) { @@ -555,7 +540,7 @@ export function RLNProvider({ children }: { children: ReactNode }) { // Generate signature for identity const timestamp = Date.now(); const message = `Sign this message to generate your RLN credentials ${timestamp}`; - const signature = await signer.signMessage(message); + const signature = await signer.signMessage({ message, account: userAddress }); // Register membership console.log("Registering membership..."); @@ -708,14 +693,8 @@ export function RLNProvider({ children }: { children: ReactNode }) { // Use the hardcoded token address consistently const tokenAddress = WAKU_TESTNET_TOKEN_ADDRESS; - const userAddress = await signer?.getAddress(); - - if (!userAddress) { - throw new Error('No signer available'); - } - - // Call withdraw with token address and holder - await rln.contract.withdraw(tokenAddress, userAddress); + // Call withdraw with token address + await rln.contract.withdraw(tokenAddress); return { success: true }; } catch (err) { console.error('Error withdrawing deposit:', err); @@ -736,11 +715,10 @@ export function RLNProvider({ children }: { children: ReactNode }) { throw new Error('Price not available'); } - console.log("💰 Price from RLN contract (raw BigNumber):", result.price); + console.log("💰 Price from RLN contract (raw):", result.price); console.log("💰 Price from RLN contract (toString):", result.price.toString()); - console.log("💰 Price from RLN contract (hex):", result.price.toHexString()); - const formatted = ethers.utils.formatUnits(result.price, 18); + const formatted = formatUnits(result.price, 18); console.log("💰 Price formatted to decimal:", formatted); return { price: formatted }; diff --git a/src/contexts/wallet/WalletContext.tsx b/src/contexts/wallet/WalletContext.tsx index b6b3124..1c4e375 100644 --- a/src/contexts/wallet/WalletContext.tsx +++ b/src/contexts/wallet/WalletContext.tsx @@ -1,8 +1,8 @@ "use client"; import { createContext, useContext, useState, useEffect, ReactNode, useCallback } from 'react'; -import { extractMetaMaskSigner } from '@waku/rln'; -import { ethers } from 'ethers'; +import { createViemClientFromWindow } from '@waku/rln'; +import { WalletClient, PublicActions, formatUnits, parseUnits } from 'viem'; import { WalletContextType } from './types'; import { WAKU_TESTNET_TOKEN_ABI } from '../../contracts/waku_testnet_token_abi'; import { WAKU_TESTNET_TOKEN_ADDRESS } from '../../contracts/constants'; @@ -13,18 +13,22 @@ const WalletContext = createContext(undefined); export function WalletProvider({ children }: { children: ReactNode }) { const [isConnected, setIsConnected] = useState(false); const [address, setAddress] = useState(null); - const [signer, setSigner] = useState(null); + const [signer, setSigner] = useState(null); const [balance, setBalance] = useState(null); const [wttBalance, setWttBalance] = useState(null); const [chainId, setChainId] = useState(null); const [error, setError] = useState(null); // Function to fetch WTT token balance - const fetchWttBalance = useCallback(async (userAddress: string, provider: ethers.providers.Provider) => { + const fetchWttBalance = useCallback(async (userAddress: `0x${string}`, client: PublicActions) => { try { - const tokenContract = new ethers.Contract(WAKU_TESTNET_TOKEN_ADDRESS, WAKU_TESTNET_TOKEN_ABI, provider); - const balance = await tokenContract.balanceOf(userAddress); - const formattedBalance = ethers.utils.formatUnits(balance, 18); // Assuming 18 decimals for the token + const balance = await client.readContract({ + address: WAKU_TESTNET_TOKEN_ADDRESS as `0x${string}`, + abi: WAKU_TESTNET_TOKEN_ABI, + functionName: 'balanceOf', + args: [userAddress], + }) as bigint; + const formattedBalance = formatUnits(balance, 18); // Assuming 18 decimals for the token setWttBalance(formattedBalance); } catch (err) { console.error('Error fetching WTT balance:', err); @@ -42,22 +46,24 @@ export function WalletProvider({ children }: { children: ReactNode }) { try { toast.loading('Minting WTT tokens...'); - const tokenContract = new ethers.Contract( - WAKU_TESTNET_TOKEN_ADDRESS, - WAKU_TESTNET_TOKEN_ABI, - signer - ); - // Convert amount to wei (assuming 18 decimals) - const amountInWei = ethers.utils.parseUnits(amount.toString(), 18); + const amountInWei = parseUnits(amount.toString(), 18); // Call the mint function - const tx = await tokenContract.mint(address, amountInWei); - await tx.wait(); + const hash = await signer.writeContract({ + address: WAKU_TESTNET_TOKEN_ADDRESS as `0x${string}`, + abi: WAKU_TESTNET_TOKEN_ABI, + functionName: 'mint', + args: [address as `0x${string}`, amountInWei], + chain: signer.chain, + account: address as `0x${string}`, + }); + + // Wait for the transaction receipt + await signer.waitForTransactionReceipt({ hash }); // Refresh the balance - const provider = signer.provider as ethers.providers.Web3Provider; - await fetchWttBalance(address, provider); + await fetchWttBalance(address as `0x${string}`, signer); toast.dismiss(); toast.success(`Successfully minted ${amount} WTT tokens`); @@ -84,22 +90,21 @@ export function WalletProvider({ children }: { children: ReactNode }) { const connectWallet = useCallback(async () => { try { setError(null); - const signer = await extractMetaMaskSigner(); + const signer = await createViemClientFromWindow(); setSigner(signer); - const address = await signer.getAddress(); + const [address] = await signer.getAddresses(); setAddress(address); - const provider = signer.provider as ethers.providers.Web3Provider; - const network = await provider.getNetwork(); - setChainId(network.chainId); + const chain = await signer.getChainId(); + setChainId(chain); - const balanceWei = await provider.getBalance(address); - const balanceEth = ethers.utils.formatEther(balanceWei); + const balanceWei = await signer.getBalance({ address }); + const balanceEth = formatUnits(balanceWei, 18); setBalance(balanceEth); // Fetch WTT token balance - await fetchWttBalance(address, provider); + await fetchWttBalance(address, signer); setIsConnected(true); } catch (err) { diff --git a/src/contexts/wallet/types.ts b/src/contexts/wallet/types.ts index d4477cc..275b55b 100644 --- a/src/contexts/wallet/types.ts +++ b/src/contexts/wallet/types.ts @@ -1,9 +1,10 @@ -import { ethers } from 'ethers'; +import { WalletClient, PublicActions } from 'viem'; +import "viem/window"; export interface WalletContextType { isConnected: boolean; address: string | null; - signer: ethers.Signer | null; + signer: WalletClient & PublicActions | null; balance: string | null; wttBalance: string | null; chainId: number | null; @@ -11,21 +12,4 @@ export interface WalletContextType { disconnectWallet: () => void; mintWTT: (amount: number) => Promise; error: string | null; - } - - declare global { - interface Window { - ethereum?: { - isMetaMask?: boolean; - isConnected?: boolean; - selectedAddress?: string; - request: (args: { method: string; params?: unknown[] }) => Promise; - on(event: 'accountsChanged', listener: (accounts: string[]) => void): void; - on(event: 'chainChanged', listener: (chainId: string) => void): void; - on(event: string, listener: (...args: unknown[]) => void): void; - removeListener(event: 'accountsChanged', listener: (accounts: string[]) => void): void; - removeListener(event: 'chainChanged', listener: (chainId: string) => void): void; - removeListener(event: string, listener: (...args: unknown[]) => void): void; - }; - } - } \ No newline at end of file + } \ No newline at end of file diff --git a/src/utils/network.ts b/src/utils/network.ts index 89f77f3..c6c0b47 100644 --- a/src/utils/network.ts +++ b/src/utils/network.ts @@ -1,6 +1,6 @@ "use client"; -import { ethers } from 'ethers'; +import { WalletClient } from 'viem'; import { WAKU_TESTNET_TOKEN_ADDRESS } from '../contracts/constants'; // Linea Sepolia configuration @@ -18,9 +18,9 @@ export interface EthereumProvider { } // Function to ensure the wallet is connected to Linea Sepolia network -export const ensureLineaSepoliaNetwork = async (signer?: ethers.Signer): Promise => { +export const ensureLineaSepoliaNetwork = async (walletClient?: WalletClient): Promise => { try { - const currentChainId = await signer?.getChainId(); + const currentChainId = walletClient?.chain?.id; console.log("Current network chain ID:", currentChainId); // Check if already on Linea Sepolia @@ -95,12 +95,36 @@ export const ensureLineaSepoliaNetwork = async (signer?: ethers.Signer): Promise } }; -// ERC20 ABI for token operations +// ERC20 ABI for token operations (viem format) export const ERC20_ABI = [ - "function allowance(address owner, address spender) view returns (uint256)", - "function approve(address spender, uint256 amount) returns (bool)", - "function balanceOf(address account) view returns (uint256)" -]; + { + name: 'allowance', + type: 'function', + stateMutability: 'view', + inputs: [ + { name: 'owner', type: 'address' }, + { name: 'spender', type: 'address' } + ], + outputs: [{ type: 'uint256' }] + }, + { + name: 'approve', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { name: 'spender', type: 'address' }, + { name: 'amount', type: 'uint256' } + ], + outputs: [{ type: 'bool' }] + }, + { + name: 'balanceOf', + type: 'function', + stateMutability: 'view', + inputs: [{ name: 'account', type: 'address' }], + outputs: [{ type: 'uint256' }] + } +] as const; // Message for signing to generate identity export const SIGNATURE_MESSAGE = "Sign this message to generate your RLN credentials"; \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index ff3f99f..c6c1c41 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,11 @@ # yarn lockfile v1 +"@adraffy/ens-normalize@^1.11.0": + version "1.11.1" + resolved "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.11.1.tgz" + integrity sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ== + "@alloc/quick-lru@^5.2.0": version "5.2.0" resolved "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz" @@ -100,232 +105,19 @@ "@eslint/core" "^0.13.0" levn "^0.4.1" -"@ethersproject/abi@^5.8.0", "@ethersproject/abi@5.8.0": - version "5.8.0" - resolved "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.8.0.tgz" - integrity sha512-b9YS/43ObplgyV6SlyQsG53/vkSal0MNA1fskSC4mbnCMi8R+NkcH8K9FPYNESf6jUefBUniE4SOKms0E/KK1Q== - dependencies: - "@ethersproject/address" "^5.8.0" - "@ethersproject/bignumber" "^5.8.0" - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/constants" "^5.8.0" - "@ethersproject/hash" "^5.8.0" - "@ethersproject/keccak256" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - "@ethersproject/properties" "^5.8.0" - "@ethersproject/strings" "^5.8.0" - -"@ethersproject/abstract-provider@^5.8.0", "@ethersproject/abstract-provider@5.8.0": - version "5.8.0" - resolved "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.8.0.tgz" - integrity sha512-wC9SFcmh4UK0oKuLJQItoQdzS/qZ51EJegK6EmAWlh+OptpQ/npECOR3QqECd8iGHC0RJb4WKbVdSfif4ammrg== - dependencies: - "@ethersproject/bignumber" "^5.8.0" - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - "@ethersproject/networks" "^5.8.0" - "@ethersproject/properties" "^5.8.0" - "@ethersproject/transactions" "^5.8.0" - "@ethersproject/web" "^5.8.0" - -"@ethersproject/abstract-signer@^5.8.0", "@ethersproject/abstract-signer@5.8.0": - version "5.8.0" - resolved "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.8.0.tgz" - integrity sha512-N0XhZTswXcmIZQdYtUnd79VJzvEwXQw6PK0dTl9VoYrEBxxCPXqS0Eod7q5TNKRxe1/5WUMuR0u0nqTF/avdCA== - dependencies: - "@ethersproject/abstract-provider" "^5.8.0" - "@ethersproject/bignumber" "^5.8.0" - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - "@ethersproject/properties" "^5.8.0" - -"@ethersproject/address@^5.8.0", "@ethersproject/address@5.8.0": - version "5.8.0" - resolved "https://registry.npmjs.org/@ethersproject/address/-/address-5.8.0.tgz" - integrity sha512-GhH/abcC46LJwshoN+uBNoKVFPxUuZm6dA257z0vZkKmU1+t8xTn8oK7B9qrj8W2rFRMch4gbJl6PmVxjxBEBA== - dependencies: - "@ethersproject/bignumber" "^5.8.0" - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/keccak256" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - "@ethersproject/rlp" "^5.8.0" - -"@ethersproject/base64@^5.8.0", "@ethersproject/base64@5.8.0": - version "5.8.0" - resolved "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.8.0.tgz" - integrity sha512-lN0oIwfkYj9LbPx4xEkie6rAMJtySbpOAFXSDVQaBnAzYfB4X2Qr+FXJGxMoc3Bxp2Sm8OwvzMrywxyw0gLjIQ== - dependencies: - "@ethersproject/bytes" "^5.8.0" - -"@ethersproject/basex@^5.8.0", "@ethersproject/basex@5.8.0": - version "5.8.0" - resolved "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.8.0.tgz" - integrity sha512-PIgTszMlDRmNwW9nhS6iqtVfdTAKosA7llYXNmGPw4YAI1PUyMv28988wAb41/gHF/WqGdoLv0erHaRcHRKW2Q== - dependencies: - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/properties" "^5.8.0" - -"@ethersproject/bignumber@^5.8.0", "@ethersproject/bignumber@5.8.0": - version "5.8.0" - resolved "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.8.0.tgz" - integrity sha512-ZyaT24bHaSeJon2tGPKIiHszWjD/54Sz8t57Toch475lCLljC6MgPmxk7Gtzz+ddNN5LuHea9qhAe0x3D+uYPA== - dependencies: - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - bn.js "^5.2.1" - -"@ethersproject/bytes@^5.8.0", "@ethersproject/bytes@5.8.0": +"@ethersproject/bytes@^5.8.0": version "5.8.0" resolved "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.8.0.tgz" integrity sha512-vTkeohgJVCPVHu5c25XWaWQOZ4v+DkGoC42/TS2ond+PARCxTJvgTFUNDZovyQ/uAQ4EcpqqowKydcdmRKjg7A== dependencies: "@ethersproject/logger" "^5.8.0" -"@ethersproject/constants@^5.8.0", "@ethersproject/constants@5.8.0": - version "5.8.0" - resolved "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.8.0.tgz" - integrity sha512-wigX4lrf5Vu+axVTIvNsuL6YrV4O5AXl5ubcURKMEME5TnWBouUh0CDTWxZ2GpnRn1kcCgE7l8O5+VbV9QTTcg== - dependencies: - "@ethersproject/bignumber" "^5.8.0" - -"@ethersproject/contracts@5.8.0": - version "5.8.0" - resolved "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.8.0.tgz" - integrity sha512-0eFjGz9GtuAi6MZwhb4uvUM216F38xiuR0yYCjKJpNfSEy4HUM8hvqqBj9Jmm0IUz8l0xKEhWwLIhPgxNY0yvQ== - dependencies: - "@ethersproject/abi" "^5.8.0" - "@ethersproject/abstract-provider" "^5.8.0" - "@ethersproject/abstract-signer" "^5.8.0" - "@ethersproject/address" "^5.8.0" - "@ethersproject/bignumber" "^5.8.0" - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/constants" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - "@ethersproject/properties" "^5.8.0" - "@ethersproject/transactions" "^5.8.0" - -"@ethersproject/hash@^5.8.0", "@ethersproject/hash@5.8.0": - version "5.8.0" - resolved "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.8.0.tgz" - integrity sha512-ac/lBcTbEWW/VGJij0CNSw/wPcw9bSRgCB0AIBz8CvED/jfvDoV9hsIIiWfvWmFEi8RcXtlNwp2jv6ozWOsooA== - dependencies: - "@ethersproject/abstract-signer" "^5.8.0" - "@ethersproject/address" "^5.8.0" - "@ethersproject/base64" "^5.8.0" - "@ethersproject/bignumber" "^5.8.0" - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/keccak256" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - "@ethersproject/properties" "^5.8.0" - "@ethersproject/strings" "^5.8.0" - -"@ethersproject/hdnode@^5.8.0", "@ethersproject/hdnode@5.8.0": - version "5.8.0" - resolved "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.8.0.tgz" - integrity sha512-4bK1VF6E83/3/Im0ERnnUeWOY3P1BZml4ZD3wcH8Ys0/d1h1xaFt6Zc+Dh9zXf9TapGro0T4wvO71UTCp3/uoA== - dependencies: - "@ethersproject/abstract-signer" "^5.8.0" - "@ethersproject/basex" "^5.8.0" - "@ethersproject/bignumber" "^5.8.0" - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - "@ethersproject/pbkdf2" "^5.8.0" - "@ethersproject/properties" "^5.8.0" - "@ethersproject/sha2" "^5.8.0" - "@ethersproject/signing-key" "^5.8.0" - "@ethersproject/strings" "^5.8.0" - "@ethersproject/transactions" "^5.8.0" - "@ethersproject/wordlists" "^5.8.0" - -"@ethersproject/json-wallets@^5.8.0", "@ethersproject/json-wallets@5.8.0": - version "5.8.0" - resolved "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.8.0.tgz" - integrity sha512-HxblNck8FVUtNxS3VTEYJAcwiKYsBIF77W15HufqlBF9gGfhmYOJtYZp8fSDZtn9y5EaXTE87zDwzxRoTFk11w== - dependencies: - "@ethersproject/abstract-signer" "^5.8.0" - "@ethersproject/address" "^5.8.0" - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/hdnode" "^5.8.0" - "@ethersproject/keccak256" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - "@ethersproject/pbkdf2" "^5.8.0" - "@ethersproject/properties" "^5.8.0" - "@ethersproject/random" "^5.8.0" - "@ethersproject/strings" "^5.8.0" - "@ethersproject/transactions" "^5.8.0" - aes-js "3.0.0" - scrypt-js "3.0.1" - -"@ethersproject/keccak256@^5.8.0", "@ethersproject/keccak256@5.8.0": - version "5.8.0" - resolved "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.8.0.tgz" - integrity sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng== - dependencies: - "@ethersproject/bytes" "^5.8.0" - js-sha3 "0.8.0" - -"@ethersproject/logger@^5.8.0", "@ethersproject/logger@5.8.0": +"@ethersproject/logger@^5.8.0": version "5.8.0" resolved "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.8.0.tgz" integrity sha512-Qe6knGmY+zPPWTC+wQrpitodgBfH7XoceCGL5bJVejmH+yCS3R8jJm8iiWuvWbG76RUmyEG53oqv6GMVWqunjA== -"@ethersproject/networks@^5.8.0", "@ethersproject/networks@5.8.0": - version "5.8.0" - resolved "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.8.0.tgz" - integrity sha512-egPJh3aPVAzbHwq8DD7Po53J4OUSsA1MjQp8Vf/OZPav5rlmWUaFLiq8cvQiGK0Z5K6LYzm29+VA/p4RL1FzNg== - dependencies: - "@ethersproject/logger" "^5.8.0" - -"@ethersproject/pbkdf2@^5.8.0", "@ethersproject/pbkdf2@5.8.0": - version "5.8.0" - resolved "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.8.0.tgz" - integrity sha512-wuHiv97BrzCmfEaPbUFpMjlVg/IDkZThp9Ri88BpjRleg4iePJaj2SW8AIyE8cXn5V1tuAaMj6lzvsGJkGWskg== - dependencies: - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/sha2" "^5.8.0" - -"@ethersproject/properties@^5.8.0", "@ethersproject/properties@5.8.0": - version "5.8.0" - resolved "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.8.0.tgz" - integrity sha512-PYuiEoQ+FMaZZNGrStmN7+lWjlsoufGIHdww7454FIaGdbe/p5rnaCXTr5MtBYl3NkeoVhHZuyzChPeGeKIpQw== - dependencies: - "@ethersproject/logger" "^5.8.0" - -"@ethersproject/providers@5.8.0": - version "5.8.0" - resolved "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.8.0.tgz" - integrity sha512-3Il3oTzEx3o6kzcg9ZzbE+oCZYyY+3Zh83sKkn4s1DZfTUjIegHnN2Cm0kbn9YFy45FDVcuCLLONhU7ny0SsCw== - dependencies: - "@ethersproject/abstract-provider" "^5.8.0" - "@ethersproject/abstract-signer" "^5.8.0" - "@ethersproject/address" "^5.8.0" - "@ethersproject/base64" "^5.8.0" - "@ethersproject/basex" "^5.8.0" - "@ethersproject/bignumber" "^5.8.0" - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/constants" "^5.8.0" - "@ethersproject/hash" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - "@ethersproject/networks" "^5.8.0" - "@ethersproject/properties" "^5.8.0" - "@ethersproject/random" "^5.8.0" - "@ethersproject/rlp" "^5.8.0" - "@ethersproject/sha2" "^5.8.0" - "@ethersproject/strings" "^5.8.0" - "@ethersproject/transactions" "^5.8.0" - "@ethersproject/web" "^5.8.0" - bech32 "1.1.4" - ws "8.18.0" - -"@ethersproject/random@^5.8.0", "@ethersproject/random@5.8.0": - version "5.8.0" - resolved "https://registry.npmjs.org/@ethersproject/random/-/random-5.8.0.tgz" - integrity sha512-E4I5TDl7SVqyg4/kkA/qTfuLWAQGXmSOgYyO01So8hLfwgKvYK5snIlzxJMk72IFdG/7oh8yuSqY2KX7MMwg+A== - dependencies: - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - -"@ethersproject/rlp@^5.7.0", "@ethersproject/rlp@^5.8.0", "@ethersproject/rlp@5.8.0": +"@ethersproject/rlp@^5.7.0": version "5.8.0" resolved "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.8.0.tgz" integrity sha512-LqZgAznqDbiEunaUvykH2JAoXTT9NV0Atqk8rQN9nx9SEgThA/WMx5DnW8a9FOufo//6FZOCHZ+XiClzgbqV9Q== @@ -333,115 +125,6 @@ "@ethersproject/bytes" "^5.8.0" "@ethersproject/logger" "^5.8.0" -"@ethersproject/sha2@^5.8.0", "@ethersproject/sha2@5.8.0": - version "5.8.0" - resolved "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.8.0.tgz" - integrity sha512-dDOUrXr9wF/YFltgTBYS0tKslPEKr6AekjqDW2dbn1L1xmjGR+9GiKu4ajxovnrDbwxAKdHjW8jNcwfz8PAz4A== - dependencies: - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - hash.js "1.1.7" - -"@ethersproject/signing-key@^5.8.0", "@ethersproject/signing-key@5.8.0": - version "5.8.0" - resolved "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.8.0.tgz" - integrity sha512-LrPW2ZxoigFi6U6aVkFN/fa9Yx/+4AtIUe4/HACTvKJdhm0eeb107EVCIQcrLZkxaSIgc/eCrX8Q1GtbH+9n3w== - dependencies: - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - "@ethersproject/properties" "^5.8.0" - bn.js "^5.2.1" - elliptic "6.6.1" - hash.js "1.1.7" - -"@ethersproject/solidity@5.8.0": - version "5.8.0" - resolved "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.8.0.tgz" - integrity sha512-4CxFeCgmIWamOHwYN9d+QWGxye9qQLilpgTU0XhYs1OahkclF+ewO+3V1U0mvpiuQxm5EHHmv8f7ClVII8EHsA== - dependencies: - "@ethersproject/bignumber" "^5.8.0" - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/keccak256" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - "@ethersproject/sha2" "^5.8.0" - "@ethersproject/strings" "^5.8.0" - -"@ethersproject/strings@^5.8.0", "@ethersproject/strings@5.8.0": - version "5.8.0" - resolved "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.8.0.tgz" - integrity sha512-qWEAk0MAvl0LszjdfnZ2uC8xbR2wdv4cDabyHiBh3Cldq/T8dPH3V4BbBsAYJUeonwD+8afVXld274Ls+Y1xXg== - dependencies: - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/constants" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - -"@ethersproject/transactions@^5.8.0", "@ethersproject/transactions@5.8.0": - version "5.8.0" - resolved "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.8.0.tgz" - integrity sha512-UglxSDjByHG0TuU17bDfCemZ3AnKO2vYrL5/2n2oXvKzvb7Cz+W9gOWXKARjp2URVwcWlQlPOEQyAviKwT4AHg== - dependencies: - "@ethersproject/address" "^5.8.0" - "@ethersproject/bignumber" "^5.8.0" - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/constants" "^5.8.0" - "@ethersproject/keccak256" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - "@ethersproject/properties" "^5.8.0" - "@ethersproject/rlp" "^5.8.0" - "@ethersproject/signing-key" "^5.8.0" - -"@ethersproject/units@5.8.0": - version "5.8.0" - resolved "https://registry.npmjs.org/@ethersproject/units/-/units-5.8.0.tgz" - integrity sha512-lxq0CAnc5kMGIiWW4Mr041VT8IhNM+Pn5T3haO74XZWFulk7wH1Gv64HqE96hT4a7iiNMdOCFEBgaxWuk8ETKQ== - dependencies: - "@ethersproject/bignumber" "^5.8.0" - "@ethersproject/constants" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - -"@ethersproject/wallet@5.8.0": - version "5.8.0" - resolved "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.8.0.tgz" - integrity sha512-G+jnzmgg6UxurVKRKvw27h0kvG75YKXZKdlLYmAHeF32TGUzHkOFd7Zn6QHOTYRFWnfjtSSFjBowKo7vfrXzPA== - dependencies: - "@ethersproject/abstract-provider" "^5.8.0" - "@ethersproject/abstract-signer" "^5.8.0" - "@ethersproject/address" "^5.8.0" - "@ethersproject/bignumber" "^5.8.0" - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/hash" "^5.8.0" - "@ethersproject/hdnode" "^5.8.0" - "@ethersproject/json-wallets" "^5.8.0" - "@ethersproject/keccak256" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - "@ethersproject/properties" "^5.8.0" - "@ethersproject/random" "^5.8.0" - "@ethersproject/signing-key" "^5.8.0" - "@ethersproject/transactions" "^5.8.0" - "@ethersproject/wordlists" "^5.8.0" - -"@ethersproject/web@^5.8.0", "@ethersproject/web@5.8.0": - version "5.8.0" - resolved "https://registry.npmjs.org/@ethersproject/web/-/web-5.8.0.tgz" - integrity sha512-j7+Ksi/9KfGviws6Qtf9Q7KCqRhpwrYKQPs+JBA/rKVFF/yaWLHJEH3zfVP2plVu+eys0d2DlFmhoQJayFewcw== - dependencies: - "@ethersproject/base64" "^5.8.0" - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - "@ethersproject/properties" "^5.8.0" - "@ethersproject/strings" "^5.8.0" - -"@ethersproject/wordlists@^5.8.0", "@ethersproject/wordlists@5.8.0": - version "5.8.0" - resolved "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.8.0.tgz" - integrity sha512-2df9bbXicZws2Sb5S6ET493uJ0Z84Fjr3pC4tu/qlnZERibZCeUVuqdtt+7Tv9xxhUxHoIekIA7avrKUWHrezg== - dependencies: - "@ethersproject/bytes" "^5.8.0" - "@ethersproject/hash" "^5.8.0" - "@ethersproject/logger" "^5.8.0" - "@ethersproject/properties" "^5.8.0" - "@ethersproject/strings" "^5.8.0" - "@floating-ui/core@^1.6.0": version "1.6.9" resolved "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.9.tgz" @@ -569,11 +252,11 @@ integrity sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw== "@libp2p/crypto@^5.1.6", "@libp2p/crypto@^5.1.8": - version "5.1.11" - resolved "https://registry.npmjs.org/@libp2p/crypto/-/crypto-5.1.11.tgz" - integrity sha512-J+C4bntXEhf43fJZbgyoa4XI8/kzwB5wE/2FoNQcwhIwgDd4YyRB1SHswgI0KWqF0pgKtFLE+sLnUBn/ZYUTjw== + version "5.1.13" + resolved "https://registry.npmjs.org/@libp2p/crypto/-/crypto-5.1.13.tgz" + integrity sha512-8NN9cQP3jDn+p9+QE9ByiEoZ2lemDFf/unTgiKmS3JF93ph240EUVdbCyyEgOMfykzb0okTM4gzvwfx9osJebQ== dependencies: - "@libp2p/interface" "^3.0.1" + "@libp2p/interface" "^3.1.0" "@noble/curves" "^2.0.1" "@noble/hashes" "^2.0.1" multiformats "^13.4.0" @@ -618,10 +301,10 @@ progress-events "^1.0.1" uint8arraylist "^2.4.8" -"@libp2p/interface@^3.0.1": - version "3.0.1" - resolved "https://registry.npmjs.org/@libp2p/interface/-/interface-3.0.1.tgz" - integrity sha512-Fc502I77E+vLiADk7PyydM3NwW6F1HCQGhhtbzi9jLb+X8KgVBL3wlPqWXVM8fyQ++4CpOcAyMel8UYhIXr26w== +"@libp2p/interface@^3.1.0": + version "3.1.0" + resolved "https://registry.npmjs.org/@libp2p/interface/-/interface-3.1.0.tgz" + integrity sha512-RE7/XyvC47fQBe1cHxhMvepYKa5bFCUyFrrpj8PuM0E7JtzxU7F+Du5j4VXbg2yLDcToe0+j8mB7jvwE2AThYw== dependencies: "@multiformats/dns" "^1.0.6" "@multiformats/multiaddr" "^13.0.1" @@ -714,14 +397,14 @@ uint8arrays "^5.1.0" "@multiformats/dns@^1.0.3", "@multiformats/dns@^1.0.6": - version "1.0.9" - resolved "https://registry.npmjs.org/@multiformats/dns/-/dns-1.0.9.tgz" - integrity sha512-Ja4hevWI9p96ICx11K3suFvFirnMmXILzS7FpsR2KG3FoKF/XJijm8ylf3vY6kRFGr98yfZYM+zIn18KaINs3A== + version "1.0.10" + resolved "https://registry.npmjs.org/@multiformats/dns/-/dns-1.0.10.tgz" + integrity sha512-6X200ceQLns0b/CU0S/So16tGjB5eIXHJ1xvJMPoWaKFHWSgfpW2EhkWJrqap4U3+c37zcowVR0ToPXeYEL7Vw== dependencies: buffer "^6.0.3" dns-packet "^5.6.1" hashlru "^2.3.0" - p-queue "^8.0.1" + p-queue "^9.0.0" progress-events "^1.0.0" uint8arrays "^5.0.2" @@ -765,6 +448,11 @@ resolved "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.1.7.tgz" integrity sha512-hPFwzPJDpA8FGj7IKV3Yf1web3oz2YsR8du4amKw8d+jAOHfYHYFpMkoF6vgSY4W6vB29RtZEklK9ayinGiCmQ== +"@noble/ciphers@^1.3.0": + version "1.3.0" + resolved "https://registry.npmjs.org/@noble/ciphers/-/ciphers-1.3.0.tgz" + integrity sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw== + "@noble/ciphers@1.2.1": version "1.2.1" resolved "https://registry.npmjs.org/@noble/ciphers/-/ciphers-1.2.1.tgz" @@ -791,6 +479,13 @@ dependencies: "@noble/hashes" "1.7.2" +"@noble/curves@~1.9.0", "@noble/curves@1.9.1": + version "1.9.1" + resolved "https://registry.npmjs.org/@noble/curves/-/curves-1.9.1.tgz" + integrity sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA== + dependencies: + "@noble/hashes" "1.8.0" + "@noble/curves@1.8.1": version "1.8.1" resolved "https://registry.npmjs.org/@noble/curves/-/curves-1.8.1.tgz" @@ -803,7 +498,7 @@ resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.7.2.tgz" integrity sha512-biZ0NUSxyjLLqo6KxEJ1b+C2NAx0wtDoFvCaXHGgUkeHzf3Xc1xKumFKREuT7f7DARNZ/slvYUwFG6B0f2b6hQ== -"@noble/hashes@^1.8.0", "@noble/hashes@1.8.0": +"@noble/hashes@^1.8.0", "@noble/hashes@~1.8.0", "@noble/hashes@1.8.0": version "1.8.0" resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz" integrity sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A== @@ -1219,6 +914,20 @@ resolved "https://registry.npmjs.org/@scure/base/-/base-1.2.4.tgz" integrity sha512-5Yy9czTO47mqz+/J8GM6GIId4umdCk1wc1q8rKERQulIoc8VP9pzDcghv10Tl2E7R96ZUx/PhND3ESYUQX8NuQ== +"@scure/base@~1.2.5": + version "1.2.6" + resolved "https://registry.npmjs.org/@scure/base/-/base-1.2.6.tgz" + integrity sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg== + +"@scure/bip32@^1.7.0": + version "1.7.0" + resolved "https://registry.npmjs.org/@scure/bip32/-/bip32-1.7.0.tgz" + integrity sha512-E4FFX/N3f4B80AKWp5dP6ow+flD1LQZo/w8UnLGYZO674jS6YnYeepycOOksv+vLPSpgN35wgKgy+ybfTb2SMw== + dependencies: + "@noble/curves" "~1.9.0" + "@noble/hashes" "~1.8.0" + "@scure/base" "~1.2.5" + "@scure/bip32@1.1.5": version "1.1.5" resolved "https://registry.npmjs.org/@scure/bip32/-/bip32-1.1.5.tgz" @@ -1237,6 +946,23 @@ "@noble/hashes" "~1.7.1" "@scure/base" "~1.2.2" +"@scure/bip32@1.7.0": + version "1.7.0" + resolved "https://registry.npmjs.org/@scure/bip32/-/bip32-1.7.0.tgz" + integrity sha512-E4FFX/N3f4B80AKWp5dP6ow+flD1LQZo/w8UnLGYZO674jS6YnYeepycOOksv+vLPSpgN35wgKgy+ybfTb2SMw== + dependencies: + "@noble/curves" "~1.9.0" + "@noble/hashes" "~1.8.0" + "@scure/base" "~1.2.5" + +"@scure/bip39@^1.6.0": + version "1.6.0" + resolved "https://registry.npmjs.org/@scure/bip39/-/bip39-1.6.0.tgz" + integrity sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A== + dependencies: + "@noble/hashes" "~1.8.0" + "@scure/base" "~1.2.5" + "@scure/bip39@1.1.1": version "1.1.1" resolved "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.1.tgz" @@ -1253,6 +979,14 @@ "@noble/hashes" "~1.7.1" "@scure/base" "~1.2.4" +"@scure/bip39@1.6.0": + version "1.6.0" + resolved "https://registry.npmjs.org/@scure/bip39/-/bip39-1.6.0.tgz" + integrity sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A== + dependencies: + "@noble/hashes" "~1.8.0" + "@scure/base" "~1.2.5" + "@sindresorhus/fnv1a@^3.1.0": version "3.1.0" resolved "https://registry.npmjs.org/@sindresorhus/fnv1a/-/fnv1a-3.1.0.tgz" @@ -1358,7 +1092,7 @@ resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.2.tgz" integrity sha512-XGJkWF41Qq305SKWEILa1O8vzhb3aOo3ogBlSmiqNko/WmRb6QIaweuZCXjKygVDXpzXb5wyxKTSOsmkuqj+Qw== -"@types/react@*", "@types/react@^19", "@types/react@^19.0.0", "@types/react@>=18": +"@types/react@*", "@types/react@^19", "@types/react@^19.0.0", "@types/react@>=18", "@types/react@>=18.0.0": version "19.1.2" resolved "https://registry.npmjs.org/@types/react/-/react-19.1.2.tgz" integrity sha512-oxLPMytKchWGbnQM9O7D67uPa9paTNxO7jVoNMXgkkErULBPhPARCfkKL9ytcIJJRGjbsVwW4ugJzyFFvm/Tiw== @@ -1466,17 +1200,26 @@ resolved "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.5.0.tgz" integrity sha512-YmocNlEcX/AgJv8gI41bhjMOTcKcea4D2nRIbZj+MhRtSH5+vEU8r/pFuTuoF+JjVplLsBueU+CILfBPVISyGQ== -"@waku/core@0.0.40-593bc45.0": - version "0.0.40-593bc45.0" - resolved "https://registry.npmjs.org/@waku/core/-/core-0.0.40-593bc45.0.tgz" - integrity sha512-STERLmw+lNFOUynRrdD33E4cwAEBTTobdaGcERJhfeeaipvQYmoQ5PQpnJLh34kV1wka1Jl+5EW4oj6SHFaRHw== +"@wagmi/core@^2.22.1": + version "2.22.1" + resolved "https://registry.npmjs.org/@wagmi/core/-/core-2.22.1.tgz" + integrity sha512-cG/xwQWsBEcKgRTkQVhH29cbpbs/TdcUJVFXCyri3ZknxhMyGv0YEjTcrNpRgt2SaswL1KrvslSNYKKo+5YEAg== + dependencies: + eventemitter3 "5.0.1" + mipd "0.0.7" + zustand "5.0.0" + +"@waku/core@0.0.41-44ad556.0": + version "0.0.41-44ad556.0" + resolved "https://registry.npmjs.org/@waku/core/-/core-0.0.41-44ad556.0.tgz" + integrity sha512-4mJXHJFSi8mAikaYzfjzvP/oX1WYC1LJjdkzdRsqdJit9hiIPTbeUGXHWV7H9625fr/7RZVSFmeSuhGf0DNIoQ== dependencies: "@libp2p/ping" "2.0.35" "@noble/hashes" "^1.3.2" - "@waku/enr" "0.0.34-593bc45.0" - "@waku/interfaces" "0.0.35-593bc45.0" - "@waku/proto" "0.0.15-593bc45.0" - "@waku/utils" "0.0.28-593bc45.0" + "@waku/enr" "0.0.34-44ad556.0" + "@waku/interfaces" "0.0.35-44ad556.0" + "@waku/proto" "0.0.16-44ad556.0" + "@waku/utils" "0.0.28-44ad556.0" debug "^4.3.4" it-all "^3.0.4" it-length-prefixed "^9.0.4" @@ -1484,59 +1227,60 @@ uint8arraylist "^2.4.3" uuid "^9.0.0" -"@waku/enr@0.0.34-593bc45.0": - version "0.0.34-593bc45.0" - resolved "https://registry.npmjs.org/@waku/enr/-/enr-0.0.34-593bc45.0.tgz" - integrity sha512-59lJhBOUUXcIJJo6ApUz3ntUUn1PGSFs8dbfuN/0TRreexjzcmwrrX0TKX2hfUoJlY670D9YnbZuaeT3oCO/1Q== +"@waku/enr@0.0.34-44ad556.0": + version "0.0.34-44ad556.0" + resolved "https://registry.npmjs.org/@waku/enr/-/enr-0.0.34-44ad556.0.tgz" + integrity sha512-CMSch/jK/nYMQlYkc4Ap/AfAVz24CTUFOOS1Bxm2H/sc1Zmz8WcYLzuo4N4ifZ4wL+MeJrGm2v2inmdOKsFx+w== dependencies: "@ethersproject/rlp" "^5.7.0" "@libp2p/crypto" "5.1.6" "@libp2p/peer-id" "5.1.7" "@multiformats/multiaddr" "^12.0.0" "@noble/secp256k1" "^1.7.1" - "@waku/utils" "0.0.28-593bc45.0" + "@waku/utils" "0.0.28-44ad556.0" debug "^4.3.4" js-sha3 "^0.9.2" -"@waku/interfaces@0.0.35-593bc45.0": - version "0.0.35-593bc45.0" - resolved "https://registry.npmjs.org/@waku/interfaces/-/interfaces-0.0.35-593bc45.0.tgz" - integrity sha512-BAQs7Qbm3Vbb8ZMcH0b/7RaA0c39HChuU9aHrNYWemwcZ7ZmQbJPGGQmRqnQkPpWJs0eo0VRPTjZbnE9Vi6I+Q== +"@waku/interfaces@0.0.35-44ad556.0": + version "0.0.35-44ad556.0" + resolved "https://registry.npmjs.org/@waku/interfaces/-/interfaces-0.0.35-44ad556.0.tgz" + integrity sha512-t1f557WXcVHohzKdKnsv+L6uSOZrnbGL9Lw2023lkn8/vHjyipO2OoT69J26nlX5wOtjksdqZyWEvaRH9/dNtg== -"@waku/proto@0.0.15-593bc45.0": - version "0.0.15-593bc45.0" - resolved "https://registry.npmjs.org/@waku/proto/-/proto-0.0.15-593bc45.0.tgz" - integrity sha512-fGYt25PvZBZv0EBjvLVzopFBkum3iUQs+1Kjyju3cA5zULA4FH2G8CMmBts81rH0EpGSi/eeUal119+kuctZHw== +"@waku/proto@0.0.16-44ad556.0": + version "0.0.16-44ad556.0" + resolved "https://registry.npmjs.org/@waku/proto/-/proto-0.0.16-44ad556.0.tgz" + integrity sha512-u1K03anZQa31PYlSFVQFZkb+ffa1p+BjuhHGRXZax9t+Qgyg2EnsIG2IFMNkDSUMEnhTdxuAl1oEmuAr69ywtA== dependencies: protons-runtime "^5.4.0" -"@waku/rln@0.1.10-593bc45.0": - version "0.1.10-593bc45.0" - resolved "https://registry.npmjs.org/@waku/rln/-/rln-0.1.10-593bc45.0.tgz" - integrity sha512-nkUcwfosKDXSsqzxBzTV+x9Iiuo0Ti5vVLQP8MnWttf4FuJxR8hKcde9+hvkzZZTZntn6TEQaYFzG3KOAC2kcA== +"@waku/rln@0.1.11-44ad556.0": + version "0.1.11-44ad556.0" + resolved "https://registry.npmjs.org/@waku/rln/-/rln-0.1.11-44ad556.0.tgz" + integrity sha512-28xhhs+rokw8otGIWbPGDGpLPlvXJ+n3yuZTeU7DoGR0kkMoAnUu0wqPMdhbPITAj3oEIEjfHjOoOA67l/rKzQ== dependencies: "@chainsafe/bls-keystore" "3.0.0" "@noble/hashes" "^1.2.0" - "@waku/core" "0.0.40-593bc45.0" - "@waku/utils" "0.0.28-593bc45.0" + "@wagmi/core" "^2.22.1" + "@waku/core" "0.0.41-44ad556.0" + "@waku/utils" "0.0.28-44ad556.0" "@waku/zerokit-rln-wasm" "^0.2.1" chai "^5.1.2" chai-as-promised "^8.0.1" chai-spies "^1.1.0" chai-subset "^1.6.0" ethereum-cryptography "^3.1.0" - ethers "^5.7.2" lodash "^4.17.21" sinon "^19.0.2" uuid "^11.0.5" + viem "^2.38.4" -"@waku/utils@0.0.28-593bc45.0": - version "0.0.28-593bc45.0" - resolved "https://registry.npmjs.org/@waku/utils/-/utils-0.0.28-593bc45.0.tgz" - integrity sha512-m4FEzl89cVx6dCQYd15VxRmeqT1DTodHEAS4st7UMdNwaURGWeADbw37NPRc0wHu6LocQYQshJEP1eXtbTkmwg== +"@waku/utils@0.0.28-44ad556.0": + version "0.0.28-44ad556.0" + resolved "https://registry.npmjs.org/@waku/utils/-/utils-0.0.28-44ad556.0.tgz" + integrity sha512-vaA4rOLp1UvxA6buqnWsj6TSfsrDTwLN6TNEoeechk7zppfqnURaRKc/xrSbWVjK7lgOJZFCuvDrHR/pls5gFw== dependencies: "@noble/hashes" "^1.3.2" - "@waku/interfaces" "0.0.35-593bc45.0" + "@waku/interfaces" "0.0.35-44ad556.0" chai "^4.3.10" debug "^4.3.4" uint8arrays "^5.0.1" @@ -1546,6 +1290,11 @@ resolved "https://registry.npmjs.org/@waku/zerokit-rln-wasm/-/zerokit-rln-wasm-0.2.1.tgz" integrity sha512-2Xp7e92y4qZpsiTPGBSVr4gVJ9mJTLaudlo0DQxNpxJUBtoJKpxdH5xDCQDiorbkWZC2j9EId+ohhxHO/xC1QQ== +abitype@^1.0.9, abitype@1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/abitype/-/abitype-1.1.0.tgz" + integrity sha512-6Vh4HcRxNMLA0puzPjM5GBgT4aAcFGKZzSgAXvuZ27shJP6NEpielTuqbBmZILR5/xd0PizkBGy5hReKz9jl5A== + abort-error@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/abort-error/-/abort-error-1.0.1.tgz" @@ -1561,11 +1310,6 @@ acorn-jsx@^5.3.2: resolved "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz" integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg== -aes-js@3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz" - integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw== - ajv@^6.12.4: version "6.12.6" resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" @@ -1779,26 +1523,11 @@ base64-js@^1.3.1: resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== -bech32@1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz" - integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== - binary-extensions@^2.0.0: version "2.3.0" resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz" integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== -bn.js@^4.11.9: - version "4.12.1" - resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz" - integrity sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg== - -bn.js@^5.2.1: - version "5.2.1" - resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz" - integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== - brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" @@ -1821,11 +1550,6 @@ braces@^3.0.3, braces@~3.0.2: dependencies: fill-range "^7.1.1" -brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz" - integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== - buffer@^6.0.3: version "6.0.3" resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz" @@ -2220,19 +1944,6 @@ eastasianwidth@^0.2.0: resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== -elliptic@6.6.1: - version "6.6.1" - resolved "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz" - integrity sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" @@ -2608,43 +2319,7 @@ ethereum-cryptography@^3.1.0: "@scure/bip32" "1.6.2" "@scure/bip39" "1.5.4" -ethers@^5.7.2: - version "5.8.0" - resolved "https://registry.npmjs.org/ethers/-/ethers-5.8.0.tgz" - integrity sha512-DUq+7fHrCg1aPDFCHx6UIPb3nmt2XMpM7Y/g2gLhsl3lIBqeAfOJIl1qEvRf2uq3BiKxmh6Fh5pfp2ieyek7Kg== - dependencies: - "@ethersproject/abi" "5.8.0" - "@ethersproject/abstract-provider" "5.8.0" - "@ethersproject/abstract-signer" "5.8.0" - "@ethersproject/address" "5.8.0" - "@ethersproject/base64" "5.8.0" - "@ethersproject/basex" "5.8.0" - "@ethersproject/bignumber" "5.8.0" - "@ethersproject/bytes" "5.8.0" - "@ethersproject/constants" "5.8.0" - "@ethersproject/contracts" "5.8.0" - "@ethersproject/hash" "5.8.0" - "@ethersproject/hdnode" "5.8.0" - "@ethersproject/json-wallets" "5.8.0" - "@ethersproject/keccak256" "5.8.0" - "@ethersproject/logger" "5.8.0" - "@ethersproject/networks" "5.8.0" - "@ethersproject/pbkdf2" "5.8.0" - "@ethersproject/properties" "5.8.0" - "@ethersproject/providers" "5.8.0" - "@ethersproject/random" "5.8.0" - "@ethersproject/rlp" "5.8.0" - "@ethersproject/sha2" "5.8.0" - "@ethersproject/signing-key" "5.8.0" - "@ethersproject/solidity" "5.8.0" - "@ethersproject/strings" "5.8.0" - "@ethersproject/transactions" "5.8.0" - "@ethersproject/units" "5.8.0" - "@ethersproject/wallet" "5.8.0" - "@ethersproject/web" "5.8.0" - "@ethersproject/wordlists" "5.8.0" - -eventemitter3@^5.0.1: +eventemitter3@^5.0.1, eventemitter3@5.0.1: version "5.0.1" resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz" integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== @@ -2929,14 +2604,6 @@ has-tostringtag@^1.0.2: dependencies: has-symbols "^1.0.3" -hash.js@^1.0.0, hash.js@^1.0.3, hash.js@1.1.7: - version "1.1.7" - resolved "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - hashlru@^2.3.0: version "2.3.0" resolved "https://registry.npmjs.org/hashlru/-/hashlru-2.3.0.tgz" @@ -2977,15 +2644,6 @@ hast-util-whitespace@^3.0.0: dependencies: "@types/hast" "^3.0.0" -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz" - integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - html-url-attributes@^3.0.0: version "3.0.1" resolved "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.1.tgz" @@ -3014,11 +2672,6 @@ imurmurhash@^0.1.4: resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== -inherits@^2.0.3, inherits@^2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - inline-style-parser@0.2.4: version "0.2.4" resolved "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.4.tgz" @@ -3290,6 +2943,11 @@ isexe@^2.0.0: resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== +isows@1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/isows/-/isows-1.0.7.tgz" + integrity sha512-I1fSfDCZL5P0v33sVqeTDSpcstAg/N+wF5HS033mogOVIp4B+oHC7oOCsA3axAbBSGTJ8QubbNmnIRN/h8U7hg== + it-all@^3.0.4: version "3.0.9" resolved "https://registry.npmjs.org/it-all/-/it-all-3.0.9.tgz" @@ -3405,11 +3063,6 @@ js-sha3@^0.9.2: resolved "https://registry.npmjs.org/js-sha3/-/js-sha3-0.9.3.tgz" integrity sha512-BcJPCQeLg6WjEx3FE591wVAevlli8lxsxm9/FzV4HXkV49TmBH38Yvrpce6fjbADGMKFrBMGTqrVz3qPIZ88Gg== -js-sha3@0.8.0: - version "0.8.0" - resolved "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz" - integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== - "js-tokens@^3.0.0 || ^4.0.0": version "4.0.0" resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" @@ -3874,16 +3527,6 @@ micromatch@^4.0.4, micromatch@^4.0.8: braces "^3.0.3" picomatch "^2.3.1" -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" - integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== - minimatch@^3.1.2: version "3.1.2" resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" @@ -3908,6 +3551,11 @@ minimist@^1.2.0, minimist@^1.2.6: resolved "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz" integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== +mipd@0.0.7: + version "0.0.7" + resolved "https://registry.npmjs.org/mipd/-/mipd-0.0.7.tgz" + integrity sha512-aAPZPNDQ3uMTdKbuO2YmAw2TxLHO0moa4YKAyETM/DTj5FloZo+a+8tU+iv4GmW+sOxKLSRwcSFuczk+Cpt6fg== + motion-dom@^12.7.4: version "12.7.4" resolved "https://registry.npmjs.org/motion-dom/-/motion-dom-12.7.4.tgz" @@ -4095,6 +3743,20 @@ own-keys@^1.0.1: object-keys "^1.1.1" safe-push-apply "^1.0.0" +ox@0.9.6: + version "0.9.6" + resolved "https://registry.npmjs.org/ox/-/ox-0.9.6.tgz" + integrity sha512-8SuCbHPvv2eZLYXrNmC0EC12rdzXQLdhnOMlHDW2wiCPLxBrOOJwX5L5E61by+UjTPOryqQiRSnjIKCI+GykKg== + dependencies: + "@adraffy/ens-normalize" "^1.11.0" + "@noble/ciphers" "^1.3.0" + "@noble/curves" "1.9.1" + "@noble/hashes" "^1.8.0" + "@scure/bip32" "^1.7.0" + "@scure/bip39" "^1.6.0" + abitype "^1.0.9" + eventemitter3 "5.0.1" + p-defer@^4.0.0, p-defer@^4.0.1: version "4.0.1" resolved "https://registry.npmjs.org/p-defer/-/p-defer-4.0.1.tgz" @@ -4114,18 +3776,18 @@ p-locate@^5.0.0: dependencies: p-limit "^3.0.2" -p-queue@^8.0.1: - version "8.1.1" - resolved "https://registry.npmjs.org/p-queue/-/p-queue-8.1.1.tgz" - integrity sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ== +p-queue@^9.0.0: + version "9.0.0" + resolved "https://registry.npmjs.org/p-queue/-/p-queue-9.0.0.tgz" + integrity sha512-KO1RyxstL9g1mK76530TExamZC/S2Glm080Nx8PE5sTd7nlduDQsAfEl4uXX+qZjLiwvDauvzXavufy3+rJ9zQ== dependencies: eventemitter3 "^5.0.1" - p-timeout "^6.1.2" + p-timeout "^7.0.0" -p-timeout@^6.1.2: - version "6.1.4" - resolved "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.4.tgz" - integrity sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg== +p-timeout@^7.0.0: + version "7.0.1" + resolved "https://registry.npmjs.org/p-timeout/-/p-timeout-7.0.1.tgz" + integrity sha512-AxTM2wDGORHGEkPCt8yqxOTMgpfbEHqF51f/5fJCmwFC3C/zNcGT63SymH2ttOAaiIws2zVg4+izQCjrakcwHg== package-json-from-dist@^1.0.0: version "1.0.1" @@ -4393,7 +4055,7 @@ react-style-singleton@^2.2.2, react-style-singleton@^2.2.3: get-nonce "^1.0.0" tslib "^2.0.0" -"react@^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc", "react@^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", "react@^18.0.0 || ^19.0.0", "react@^18.0.0 || ^19.0.0 || ^19.0.0-rc", "react@^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", react@^19.0.0, react@^19.1.0, "react@>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0", react@>=16.8.0, react@>=18: +"react@^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc", "react@^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", "react@^18.0.0 || ^19.0.0", "react@^18.0.0 || ^19.0.0 || ^19.0.0-rc", "react@^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", react@^19.0.0, react@^19.1.0, "react@>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0", react@>=16.8.0, react@>=18, react@>=18.0.0: version "19.1.0" resolved "https://registry.npmjs.org/react/-/react-19.1.0.tgz" integrity sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg== @@ -4532,11 +4194,6 @@ scheduler@^0.26.0: resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz" integrity sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA== -scrypt-js@3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz" - integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== - semver@^6.3.1: version "6.3.1" resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" @@ -5057,7 +4714,7 @@ typed-array-length@^1.0.7: possible-typed-array-names "^1.0.0" reflect.getprototypeof "^1.0.6" -typescript@^5, typescript@>=3.3.1, typescript@>=4.8.4, "typescript@>=4.8.4 <5.9.0": +typescript@^5, typescript@>=3.3.1, typescript@>=4.8.4, "typescript@>=4.8.4 <5.9.0", typescript@>=5.0.4, typescript@>=5.4.0: version "5.8.3" resolved "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz" integrity sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ== @@ -5230,10 +4887,24 @@ vfile@^6.0.0: "@types/unist" "^3.0.0" vfile-message "^4.0.0" +viem@^2.21.54, viem@^2.38.4, viem@2.x: + version "2.38.4" + resolved "https://registry.npmjs.org/viem/-/viem-2.38.4.tgz" + integrity sha512-qnyPNg6Lz1EEC86si/1dq7GlOyZVFHSgAW+p8Q31R5idnAYCOdTM2q5KLE4/ykMeMXzY0bnp5MWTtR/wjCtWmQ== + dependencies: + "@noble/curves" "1.9.1" + "@noble/hashes" "1.8.0" + "@scure/bip32" "1.7.0" + "@scure/bip39" "1.6.0" + abitype "1.1.0" + isows "1.0.7" + ox "0.9.6" + ws "8.18.3" + weald@^1.0.4: - version "1.0.6" - resolved "https://registry.npmjs.org/weald/-/weald-1.0.6.tgz" - integrity sha512-sX1PzkcMJZUJ848JbFzB6aKHHglTxqACEnq2KgI75b7vWYvfXFBNbOuDKqFKwCT44CrP6c5r+L4+5GmPnb5/SQ== + version "1.1.1" + resolved "https://registry.npmjs.org/weald/-/weald-1.1.1.tgz" + integrity sha512-PaEQShzMCz8J/AD2N3dJMc1hTZWkJeLKS2NMeiVkV5KDHwgZe7qXLEzyodsT/SODxWDdXJJqocuwf3kHzcXhSQ== dependencies: ms "^3.0.0-canary.1" supports-color "^10.0.0" @@ -5321,10 +4992,10 @@ wrap-ansi@^8.1.0: string-width "^5.0.1" strip-ansi "^7.0.1" -ws@8.18.0: - version "8.18.0" - resolved "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz" - integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== +ws@*, ws@8.18.3: + version "8.18.3" + resolved "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz" + integrity sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg== yaml@^2.3.4: version "2.7.1" @@ -5336,6 +5007,11 @@ yocto-queue@^0.1.0: resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== +zustand@5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/zustand/-/zustand-5.0.0.tgz" + integrity sha512-LE+VcmbartOPM+auOjCCLQOsQ05zUTp8RkgwRzefUk+2jISdMMFnxvyTjA4YNWr5ZGXYbVsEMZosttuxUBkojQ== + zwitch@^2.0.0: version "2.0.4" resolved "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz"