diff --git a/package-lock.json b/package-lock.json index 723dde791..824eb8535 100644 --- a/package-lock.json +++ b/package-lock.json @@ -32,9 +32,9 @@ "dayjs": "^1.11.9", "dayjs-precise-range": "^1.0.1", "dcl-catalyst-client": "^21.5.5", - "decentraland-dapps": "^18.5.0", + "decentraland-dapps": "^19.3.4", "decentraland-gatsby": "^5.109.0", - "decentraland-ui": "^5.10.0", + "decentraland-ui": "^5.14.0", "discord.js": "^14.7.1", "dompurify": "^2.3.3", "dotenv": "^16.0.0", @@ -250,9 +250,9 @@ } }, "node_modules/@0xsquid/sdk": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/@0xsquid/sdk/-/sdk-2.8.9.tgz", - "integrity": "sha512-8bkp6GGRxUI7XbuQ5kfbkGY8qQXOA6q0fDK92gmlq0ooNFW/4eRv7U9WHr6ivsMl4UcxGcPfTP+yDES+FVHTcA==", + "version": "2.8.10", + "resolved": "https://registry.npmjs.org/@0xsquid/sdk/-/sdk-2.8.10.tgz", + "integrity": "sha512-0/H7SmhYW/EzXqu4Ao0WTTE1SJpEO8o4ddj7MC4TSJLQK64msakXAUXm6ez3rtleoqBrIpxookTfOOCgiYkvJg==", "dependencies": { "@cosmjs/encoding": "^0.31.0", "@cosmjs/stargate": "^0.31.3", @@ -294,11 +294,11 @@ "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==" }, "node_modules/@0xsquid/sdk/node_modules/axios": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz", - "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==", + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", + "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", "dependencies": { - "follow-redirects": "^1.15.4", + "follow-redirects": "^1.15.6", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } @@ -374,9 +374,9 @@ } }, "node_modules/@0xsquid/squid-types": { - "version": "0.1.53", - "resolved": "https://registry.npmjs.org/@0xsquid/squid-types/-/squid-types-0.1.53.tgz", - "integrity": "sha512-n+pVQXiDoos89PgGTPYhMEFG3EeBy/rrAPzGFbtnYXL5R2Pq3loANyTmSjKMY3hCwAxyQ3tGYym52peKq4TYSQ==", + "version": "0.1.59", + "resolved": "https://registry.npmjs.org/@0xsquid/squid-types/-/squid-types-0.1.59.tgz", + "integrity": "sha512-RGzcIltKESbrFTpsA2zo/qpAvFGdMhmpyH1nD2wy17EzQPiWWg7q8BdkeSGSz+zIVPuIqHF49Ux7RXKaqp5gQA==", "dependencies": { "@axelar-network/axelarjs-sdk": "^0.13.6", "@ethersproject/providers": "^5.7.2", @@ -1223,9 +1223,9 @@ } }, "node_modules/@axelar-network/axelarjs-sdk/node_modules/engine.io-parser": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.1.tgz", - "integrity": "sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.2.tgz", + "integrity": "sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==", "engines": { "node": ">=10.0.0" } @@ -1283,9 +1283,9 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/@axelar-network/axelarjs-sdk/node_modules/socket.io-client": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.4.tgz", - "integrity": "sha512-wh+OkeF0rAVCrABWQBaEjLfb7DVPotMbu0cgWgyR0v6eA4EoVnAwcIeIbcdTE3GT/H3kbdLl7OoH2+asoDRIIg==", + "version": "4.7.5", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.5.tgz", + "integrity": "sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ==", "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.3.2", @@ -5838,11 +5838,6 @@ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" }, - "node_modules/@ioredis/commands": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.2.0.tgz", - "integrity": "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==" - }, "node_modules/@ipld/car": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/@ipld/car/-/car-3.2.4.tgz", @@ -6835,9 +6830,9 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/@metamask/utils/node_modules/superstruct": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-1.0.3.tgz", - "integrity": "sha512-8iTn3oSS8nRGn+C2pgXSKPI3jmpm6FExNazNpjvqS6ZUJQCej3PUXEKM8NjHBOs54ExM+LPW/FBRhymrdcCiSg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-1.0.4.tgz", + "integrity": "sha512-7JpaAoX2NGyoFlI9NBh66BQXGONc+uE+MRS5i2iOBKuS4e+ccgMDjATgZldkah+33DakBxDHiss9kvUcGAO8UQ==", "engines": { "node": ">=14.0.0" } @@ -7761,10 +7756,9 @@ } }, "node_modules/@parcel/watcher": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.0.tgz", - "integrity": "sha512-XJLGVL0DEclX5pcWa2N9SX1jCGTDd8l972biNooLFtjneuGqodupPQh6XseXIBBeVIMaaJ7bTcs3qGvXwsp4vg==", - "hasInstallScript": true, + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz", + "integrity": "sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==", "dependencies": { "detect-libc": "^1.0.3", "is-glob": "^4.0.3", @@ -7779,24 +7773,24 @@ "url": "https://opencollective.com/parcel" }, "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.4.0", - "@parcel/watcher-darwin-arm64": "2.4.0", - "@parcel/watcher-darwin-x64": "2.4.0", - "@parcel/watcher-freebsd-x64": "2.4.0", - "@parcel/watcher-linux-arm-glibc": "2.4.0", - "@parcel/watcher-linux-arm64-glibc": "2.4.0", - "@parcel/watcher-linux-arm64-musl": "2.4.0", - "@parcel/watcher-linux-x64-glibc": "2.4.0", - "@parcel/watcher-linux-x64-musl": "2.4.0", - "@parcel/watcher-win32-arm64": "2.4.0", - "@parcel/watcher-win32-ia32": "2.4.0", - "@parcel/watcher-win32-x64": "2.4.0" + "@parcel/watcher-android-arm64": "2.4.1", + "@parcel/watcher-darwin-arm64": "2.4.1", + "@parcel/watcher-darwin-x64": "2.4.1", + "@parcel/watcher-freebsd-x64": "2.4.1", + "@parcel/watcher-linux-arm-glibc": "2.4.1", + "@parcel/watcher-linux-arm64-glibc": "2.4.1", + "@parcel/watcher-linux-arm64-musl": "2.4.1", + "@parcel/watcher-linux-x64-glibc": "2.4.1", + "@parcel/watcher-linux-x64-musl": "2.4.1", + "@parcel/watcher-win32-arm64": "2.4.1", + "@parcel/watcher-win32-ia32": "2.4.1", + "@parcel/watcher-win32-x64": "2.4.1" } }, "node_modules/@parcel/watcher-android-arm64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.0.tgz", - "integrity": "sha512-+fPtO/GsbYX1LJnCYCaDVT3EOBjvSFdQN9Mrzh9zWAOOfvidPWyScTrHIZHHfJBvlHzNA0Gy0U3NXFA/M7PHUA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.1.tgz", + "integrity": "sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==", "cpu": [ "arm64" ], @@ -7813,9 +7807,9 @@ } }, "node_modules/@parcel/watcher-darwin-arm64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.0.tgz", - "integrity": "sha512-T/At5pansFuQ8VJLRx0C6C87cgfqIYhW2N/kBfLCUvDhCah0EnLLwaD/6MW3ux+rpgkpQAnMELOCTKlbwncwiA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.1.tgz", + "integrity": "sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==", "cpu": [ "arm64" ], @@ -7832,9 +7826,9 @@ } }, "node_modules/@parcel/watcher-darwin-x64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.0.tgz", - "integrity": "sha512-vZMv9jl+szz5YLsSqEGCMSllBl1gU1snfbRL5ysJU03MEa6gkVy9OMcvXV1j4g0++jHEcvzhs3Z3LpeEbVmY6Q==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.1.tgz", + "integrity": "sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==", "cpu": [ "x64" ], @@ -7851,9 +7845,9 @@ } }, "node_modules/@parcel/watcher-freebsd-x64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.0.tgz", - "integrity": "sha512-dHTRMIplPDT1M0+BkXjtMN+qLtqq24sLDUhmU+UxxLP2TEY2k8GIoqIJiVrGWGomdWsy5IO27aDV1vWyQ6gfHA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.1.tgz", + "integrity": "sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==", "cpu": [ "x64" ], @@ -7870,9 +7864,9 @@ } }, "node_modules/@parcel/watcher-linux-arm-glibc": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.0.tgz", - "integrity": "sha512-9NQXD+qk46RwATNC3/UB7HWurscY18CnAPMTFcI9Y8CTbtm63/eex1SNt+BHFinEQuLBjaZwR2Lp+n7pmEJPpQ==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.1.tgz", + "integrity": "sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==", "cpu": [ "arm" ], @@ -7889,9 +7883,9 @@ } }, "node_modules/@parcel/watcher-linux-arm64-glibc": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.0.tgz", - "integrity": "sha512-QuJTAQdsd7PFW9jNGaV9Pw+ZMWV9wKThEzzlY3Lhnnwy7iW23qtQFPql8iEaSFMCVI5StNNmONUopk+MFKpiKg==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.1.tgz", + "integrity": "sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==", "cpu": [ "arm64" ], @@ -7908,9 +7902,9 @@ } }, "node_modules/@parcel/watcher-linux-arm64-musl": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.0.tgz", - "integrity": "sha512-oyN+uA9xcTDo/45bwsd6TFHa7Lc7hKujyMlvwrCLvSckvWogndCEoVYFNfZ6JJ2KNL/6fFiGPcbjp8jJmEh5Ng==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.1.tgz", + "integrity": "sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==", "cpu": [ "arm64" ], @@ -7927,9 +7921,9 @@ } }, "node_modules/@parcel/watcher-linux-x64-glibc": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.0.tgz", - "integrity": "sha512-KphV8awJmxU3q52JQvJot0QMu07CIyEjV+2Tb2ZtbucEgqyRcxOBDMsqp1JNq5nuDXtcCC0uHQICeiEz38dPBQ==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz", + "integrity": "sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==", "cpu": [ "x64" ], @@ -7946,9 +7940,9 @@ } }, "node_modules/@parcel/watcher-linux-x64-musl": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.0.tgz", - "integrity": "sha512-7jzcOonpXNWcSijPpKD5IbC6xC7yTibjJw9jviVzZostYLGxbz8LDJLUnLzLzhASPlPGgpeKLtFUMjAAzM+gSA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.1.tgz", + "integrity": "sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==", "cpu": [ "x64" ], @@ -7965,9 +7959,9 @@ } }, "node_modules/@parcel/watcher-wasm": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-wasm/-/watcher-wasm-2.4.0.tgz", - "integrity": "sha512-MNgQ4WCbBybqQ97KwR/hqJGYTg3+s8qHpgIyFWB2qJOBvoJWbXuJGmm4ZkPLq2bMaANqCZqrXwmKYagZTkMKZA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-wasm/-/watcher-wasm-2.4.1.tgz", + "integrity": "sha512-/ZR0RxqxU/xxDGzbzosMjh4W6NdYFMqq2nvo2b8SLi7rsl/4jkL8S5stIikorNkdR50oVDvqb/3JT05WM+CRRA==", "bundleDependencies": [ "napi-wasm" ], @@ -7990,9 +7984,9 @@ "license": "MIT" }, "node_modules/@parcel/watcher-win32-arm64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.0.tgz", - "integrity": "sha512-NOej2lqlq8bQNYhUMnOD0nwvNql8ToQF+1Zhi9ULZoG+XTtJ9hNnCFfyICxoZLXor4bBPTOnzs/aVVoefYnjIg==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.1.tgz", + "integrity": "sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==", "cpu": [ "arm64" ], @@ -8009,9 +8003,9 @@ } }, "node_modules/@parcel/watcher-win32-ia32": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.0.tgz", - "integrity": "sha512-IO/nM+K2YD/iwjWAfHFMBPz4Zqn6qBDqZxY4j2n9s+4+OuTSRM/y/irksnuqcspom5DjkSeF9d0YbO+qpys+JA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.1.tgz", + "integrity": "sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==", "cpu": [ "ia32" ], @@ -8028,9 +8022,9 @@ } }, "node_modules/@parcel/watcher-win32-x64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.0.tgz", - "integrity": "sha512-pAUyUVjfFjWaf/pShmJpJmNxZhbMvJASUpdes9jL6bTEJ+gDxPRSpXTIemNyNsb9AtbiGXs9XduP1reThmd+dA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz", + "integrity": "sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==", "cpu": [ "x64" ], @@ -10448,13 +10442,13 @@ } }, "node_modules/@solana/web3.js": { - "version": "1.89.1", - "resolved": "https://registry.npmjs.org/@solana/web3.js/-/web3.js-1.89.1.tgz", - "integrity": "sha512-t9TTLtPQxtQB3SAf/5E8xPXfVDsC6WGOsgKY02l2cbe0HLymT7ynE8Hu48Lk5qynHCquj6nhISfEHcjMkYpu/A==", + "version": "1.91.2", + "resolved": "https://registry.npmjs.org/@solana/web3.js/-/web3.js-1.91.2.tgz", + "integrity": "sha512-WXPl5VXtfNKWM2RkGj7mvX6dKcZURDKe1lWBFAt/RqDBI9Rjr9hr7Y+U+yz2+TyViMmoinfJVlkS4gk2FPDG/g==", "dependencies": { "@babel/runtime": "^7.23.4", "@noble/curves": "^1.2.0", - "@noble/hashes": "^1.3.2", + "@noble/hashes": "^1.3.3", "@solana/buffer-layout": "^4.0.1", "agentkeepalive": "^4.5.0", "bigint-buffer": "^1.1.5", @@ -10470,20 +10464,20 @@ } }, "node_modules/@solana/web3.js/node_modules/@noble/curves": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.3.0.tgz", - "integrity": "sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.0.tgz", + "integrity": "sha512-p+4cb332SFCrReJkCYe8Xzm0OWi4Jji5jVdIZRL/PmacmDkFNw6MrrV+gGpiPxLHbV+zKFRywUWbaseT+tZRXg==", "dependencies": { - "@noble/hashes": "1.3.3" + "@noble/hashes": "1.4.0" }, "funding": { "url": "https://paulmillr.com/funding/" } }, "node_modules/@solana/web3.js/node_modules/@noble/hashes": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.3.tgz", - "integrity": "sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", "engines": { "node": ">= 16" }, @@ -13733,9 +13727,9 @@ } }, "node_modules/@types/d3-path": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.0.2.tgz", - "integrity": "sha512-WAIEVlOCdd/NKRYTsqCpOMHQHemKBEINf8YXMYOtXH0GA7SY0dqMB78P3Uhgfy+4X+/Mlw2wDtlETkN6kQUCMA==" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==" }, "node_modules/@types/d3-scale": { "version": "4.0.8", @@ -14265,6 +14259,11 @@ "@types/node": "*" } }, + "node_modules/@types/segment-analytics": { + "version": "0.0.38", + "resolved": "https://registry.npmjs.org/@types/segment-analytics/-/segment-analytics-0.0.38.tgz", + "integrity": "sha512-0clAuA7t6HxtpyXl4veE/oNVdcQFhlxnxgYlk0LeEYSoW3s3zZV5xa6DVHcOtozUO4u15Ipet5TdP88GbwKHvg==" + }, "node_modules/@types/semver": { "version": "7.5.1", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.1.tgz", @@ -16056,9 +16055,9 @@ "integrity": "sha512-pdMwUawmAtH/LScbjKJq/y2+gZFggFMc2tlJrlPSrgKajvYPEis3L9QKcMyC9RN1Xos4ezAP5AJfRCNN6RMKCQ==" }, "node_modules/@walletconnect/core": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.11.0.tgz", - "integrity": "sha512-2Tjp5BCevI7dbmqo/OrCjX4tqgMqwJNQLlQAlphqPfvwlF9+tIu6pGcVbSN3U9zyXzWIZCeleqEaWUeSeET4Ew==", + "version": "2.11.3", + "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.11.3.tgz", + "integrity": "sha512-/9m4EqiggFUwkQDv5PDWbcTI+yCVnBd/iYW5iIHEkivg2/mnBr2bQz2r/vtPjp19r/ZK62Dx0+UN3U+BWP8ulQ==", "dependencies": { "@walletconnect/heartbeat": "1.2.1", "@walletconnect/jsonrpc-provider": "1.0.13", @@ -16071,8 +16070,8 @@ "@walletconnect/relay-auth": "^1.0.4", "@walletconnect/safe-json": "^1.0.2", "@walletconnect/time": "^1.0.2", - "@walletconnect/types": "2.11.0", - "@walletconnect/utils": "2.11.0", + "@walletconnect/types": "2.11.3", + "@walletconnect/utils": "2.11.3", "events": "^3.3.0", "isomorphic-unfetch": "3.1.0", "lodash.isequal": "4.5.0", @@ -16111,35 +16110,35 @@ } }, "node_modules/@walletconnect/core/node_modules/unstorage": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.10.1.tgz", - "integrity": "sha512-rWQvLRfZNBpF+x8D3/gda5nUCQL2PgXy2jNG4U7/Rc9BGEv9+CAJd0YyGCROUBKs9v49Hg8huw3aih5Bf5TAVw==", + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.10.2.tgz", + "integrity": "sha512-cULBcwDqrS8UhlIysUJs2Dk0Mmt8h7B0E6mtR+relW9nZvsf/u4SkAYyNliPiPW7XtFNb5u3IUMkxGxFTTRTgQ==", "dependencies": { "anymatch": "^3.1.3", - "chokidar": "^3.5.3", - "destr": "^2.0.2", - "h3": "^1.8.2", - "ioredis": "^5.3.2", - "listhen": "^1.5.5", - "lru-cache": "^10.0.2", + "chokidar": "^3.6.0", + "destr": "^2.0.3", + "h3": "^1.11.1", + "listhen": "^1.7.2", + "lru-cache": "^10.2.0", "mri": "^1.2.0", - "node-fetch-native": "^1.4.1", + "node-fetch-native": "^1.6.2", "ofetch": "^1.3.3", - "ufo": "^1.3.1" + "ufo": "^1.4.0" }, "peerDependencies": { - "@azure/app-configuration": "^1.4.1", + "@azure/app-configuration": "^1.5.0", "@azure/cosmos": "^4.0.0", "@azure/data-tables": "^13.2.2", - "@azure/identity": "^3.3.2", - "@azure/keyvault-secrets": "^4.7.0", - "@azure/storage-blob": "^12.16.0", - "@capacitor/preferences": "^5.0.6", - "@netlify/blobs": "^6.2.0", - "@planetscale/database": "^1.11.0", - "@upstash/redis": "^1.23.4", - "@vercel/kv": "^0.2.3", - "idb-keyval": "^6.2.1" + "@azure/identity": "^4.0.1", + "@azure/keyvault-secrets": "^4.8.0", + "@azure/storage-blob": "^12.17.0", + "@capacitor/preferences": "^5.0.7", + "@netlify/blobs": "^6.5.0 || ^7.0.0", + "@planetscale/database": "^1.16.0", + "@upstash/redis": "^1.28.4", + "@vercel/kv": "^1.0.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.3.2" }, "peerDependenciesMeta": { "@azure/app-configuration": { @@ -16177,6 +16176,9 @@ }, "idb-keyval": { "optional": true + }, + "ioredis": { + "optional": true } } }, @@ -16189,19 +16191,19 @@ } }, "node_modules/@walletconnect/ethereum-provider": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@walletconnect/ethereum-provider/-/ethereum-provider-2.11.0.tgz", - "integrity": "sha512-YrTeHVjuSuhlUw7SQ6xBJXDuJ6iAC+RwINm9nVhoKYJSHAy3EVSJZOofMKrnecL0iRMtD29nj57mxAInIBRuZA==", + "version": "2.11.3", + "resolved": "https://registry.npmjs.org/@walletconnect/ethereum-provider/-/ethereum-provider-2.11.3.tgz", + "integrity": "sha512-lg+ZzjLfk1GZgLVwMBmCteSNQ6hVn0Fgo1xDnzU/Ak3IqyfWIeMcM79Z5NgPLQOwqBVGckoBnx5BU5wai+AjGg==", "dependencies": { "@walletconnect/jsonrpc-http-connection": "^1.0.7", "@walletconnect/jsonrpc-provider": "^1.0.13", "@walletconnect/jsonrpc-types": "^1.0.3", "@walletconnect/jsonrpc-utils": "^1.0.8", "@walletconnect/modal": "^2.6.2", - "@walletconnect/sign-client": "2.11.0", - "@walletconnect/types": "2.11.0", - "@walletconnect/universal-provider": "2.11.0", - "@walletconnect/utils": "2.11.0", + "@walletconnect/sign-client": "2.11.3", + "@walletconnect/types": "2.11.3", + "@walletconnect/universal-provider": "2.11.3", + "@walletconnect/utils": "2.11.3", "events": "^3.3.0" } }, @@ -16363,18 +16365,18 @@ } }, "node_modules/@walletconnect/sign-client": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.11.0.tgz", - "integrity": "sha512-H2ukscibBS+6WrzQWh+WyVBqO5z4F5et12JcwobdwgHnJSlqIoZxqnUYYWNCI5rUR5UKsKWaUyto4AE9N5dw4Q==", + "version": "2.11.3", + "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.11.3.tgz", + "integrity": "sha512-JVjLTxN/3NjMXv5zalSGKuSYLRyU2yX6AWEdq17cInlrwODpbWZr6PS1uxMWdH4r90DXBLhdtwDbEq/pfd0BPg==", "dependencies": { - "@walletconnect/core": "2.11.0", + "@walletconnect/core": "2.11.3", "@walletconnect/events": "^1.0.1", "@walletconnect/heartbeat": "1.2.1", "@walletconnect/jsonrpc-utils": "1.0.8", "@walletconnect/logger": "^2.0.1", "@walletconnect/time": "^1.0.2", - "@walletconnect/types": "2.11.0", - "@walletconnect/utils": "2.11.0", + "@walletconnect/types": "2.11.3", + "@walletconnect/utils": "2.11.3", "events": "^3.3.0" } }, @@ -16387,9 +16389,9 @@ } }, "node_modules/@walletconnect/types": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.11.0.tgz", - "integrity": "sha512-AB5b1lrEbCGHxqS2vqfCkIoODieH+ZAUp9rA1O2ftrhnqDJiJK983Df87JhYhECsQUBHHfALphA8ydER0q+9sw==", + "version": "2.11.3", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.11.3.tgz", + "integrity": "sha512-JY4wA9MVosDW9dcJMTpnwliste0aJGJ1X6Q4ulLsQsgWRSEBRkLila0oUT01TDBW9Yq8uUp7uFOUTaKx6KWVAg==", "dependencies": { "@walletconnect/events": "^1.0.1", "@walletconnect/heartbeat": "1.2.1", @@ -16431,35 +16433,35 @@ } }, "node_modules/@walletconnect/types/node_modules/unstorage": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.10.1.tgz", - "integrity": "sha512-rWQvLRfZNBpF+x8D3/gda5nUCQL2PgXy2jNG4U7/Rc9BGEv9+CAJd0YyGCROUBKs9v49Hg8huw3aih5Bf5TAVw==", + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.10.2.tgz", + "integrity": "sha512-cULBcwDqrS8UhlIysUJs2Dk0Mmt8h7B0E6mtR+relW9nZvsf/u4SkAYyNliPiPW7XtFNb5u3IUMkxGxFTTRTgQ==", "dependencies": { "anymatch": "^3.1.3", - "chokidar": "^3.5.3", - "destr": "^2.0.2", - "h3": "^1.8.2", - "ioredis": "^5.3.2", - "listhen": "^1.5.5", - "lru-cache": "^10.0.2", + "chokidar": "^3.6.0", + "destr": "^2.0.3", + "h3": "^1.11.1", + "listhen": "^1.7.2", + "lru-cache": "^10.2.0", "mri": "^1.2.0", - "node-fetch-native": "^1.4.1", + "node-fetch-native": "^1.6.2", "ofetch": "^1.3.3", - "ufo": "^1.3.1" + "ufo": "^1.4.0" }, "peerDependencies": { - "@azure/app-configuration": "^1.4.1", + "@azure/app-configuration": "^1.5.0", "@azure/cosmos": "^4.0.0", "@azure/data-tables": "^13.2.2", - "@azure/identity": "^3.3.2", - "@azure/keyvault-secrets": "^4.7.0", - "@azure/storage-blob": "^12.16.0", - "@capacitor/preferences": "^5.0.6", - "@netlify/blobs": "^6.2.0", - "@planetscale/database": "^1.11.0", - "@upstash/redis": "^1.23.4", - "@vercel/kv": "^0.2.3", - "idb-keyval": "^6.2.1" + "@azure/identity": "^4.0.1", + "@azure/keyvault-secrets": "^4.8.0", + "@azure/storage-blob": "^12.17.0", + "@capacitor/preferences": "^5.0.7", + "@netlify/blobs": "^6.5.0 || ^7.0.0", + "@planetscale/database": "^1.16.0", + "@upstash/redis": "^1.28.4", + "@vercel/kv": "^1.0.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.3.2" }, "peerDependenciesMeta": { "@azure/app-configuration": { @@ -16497,29 +16499,32 @@ }, "idb-keyval": { "optional": true + }, + "ioredis": { + "optional": true } } }, "node_modules/@walletconnect/universal-provider": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@walletconnect/universal-provider/-/universal-provider-2.11.0.tgz", - "integrity": "sha512-zgJv8jDvIMP4Qse/D9oIRXGdfoNqonsrjPZanQ/CHNe7oXGOBiQND2IIeX+tS0H7uNA0TPvctljCLiIN9nw4eA==", + "version": "2.11.3", + "resolved": "https://registry.npmjs.org/@walletconnect/universal-provider/-/universal-provider-2.11.3.tgz", + "integrity": "sha512-5iW7eAEuf4YV079wYoqU9mCRAxPU7Vhh+3n8DtUkUAET/5M0HCxmq0dGw26TxNJvXeIVrQmmmaj9QyeJsiVy3w==", "dependencies": { "@walletconnect/jsonrpc-http-connection": "^1.0.7", "@walletconnect/jsonrpc-provider": "1.0.13", "@walletconnect/jsonrpc-types": "^1.0.2", "@walletconnect/jsonrpc-utils": "^1.0.7", "@walletconnect/logger": "^2.0.1", - "@walletconnect/sign-client": "2.11.0", - "@walletconnect/types": "2.11.0", - "@walletconnect/utils": "2.11.0", + "@walletconnect/sign-client": "2.11.3", + "@walletconnect/types": "2.11.3", + "@walletconnect/utils": "2.11.3", "events": "^3.3.0" } }, "node_modules/@walletconnect/utils": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.11.0.tgz", - "integrity": "sha512-hxkHPlTlDQILHfIKXlmzgNJau/YcSBC3XHUSuZuKZbNEw3duFT6h6pm3HT/1+j1a22IG05WDsNBuTCRkwss+BQ==", + "version": "2.11.3", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.11.3.tgz", + "integrity": "sha512-jsdNkrl/IcTkzWFn0S2d0urzBXg6RxVJtUYRsUx3qI3wzOGiABP9ui3yiZ3SgZOv9aRe62PaNp1qpbYZ+zPb8Q==", "dependencies": { "@stablelib/chacha20poly1305": "1.0.1", "@stablelib/hkdf": "1.0.1", @@ -16529,7 +16534,7 @@ "@walletconnect/relay-api": "^1.0.9", "@walletconnect/safe-json": "^1.0.2", "@walletconnect/time": "^1.0.2", - "@walletconnect/types": "2.11.0", + "@walletconnect/types": "2.11.3", "@walletconnect/window-getters": "^1.0.1", "@walletconnect/window-metadata": "^1.0.1", "detect-browser": "5.3.0", @@ -19582,15 +19587,9 @@ } }, "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -19603,6 +19602,9 @@ "engines": { "node": ">= 8.10.0" }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, "optionalDependencies": { "fsevents": "~2.3.2" } @@ -19635,9 +19637,9 @@ } }, "node_modules/citty": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.5.tgz", - "integrity": "sha512-AS7n5NSc0OQVMV9v6wt3ByujNIrne0/cTjiC2MYqhvao57VNfiuVksTSr2p17nVOhEr2KtqiAkGwHcgMC/qUuQ==", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz", + "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==", "dependencies": { "consola": "^3.2.3" } @@ -20040,14 +20042,6 @@ "node": ">=6" } }, - "node_modules/cluster-key-slot": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz", - "integrity": "sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -20767,9 +20761,17 @@ } }, "node_modules/crossws": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.1.1.tgz", - "integrity": "sha512-c9c/o7bS3OjsdpSkvexpka0JNlesBF2JU9B2V1yNsYGwRbAafxhJQ7VI9b48D5bpONz/oxbPGMzBojy9sXoQIQ==" + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.2.4.tgz", + "integrity": "sha512-DAxroI2uSOgUKLz00NX6A8U/8EE3SZHmIND+10jkVSaypvyt57J5JEOxAQOL6lQxyzi/wZbTIwssU1uy69h5Vg==", + "peerDependencies": { + "uWebSockets.js": "*" + }, + "peerDependenciesMeta": { + "uWebSockets.js": { + "optional": true + } + } }, "node_modules/crypt": { "version": "0.0.2", @@ -22038,9 +22040,9 @@ } }, "node_modules/decentraland-dapps": { - "version": "18.5.0", - "resolved": "https://registry.npmjs.org/decentraland-dapps/-/decentraland-dapps-18.5.0.tgz", - "integrity": "sha512-QvYwfLHDU1CD4W/Wc901Dlsvp5OR1GxpyZdVyswB3nE6DsiulfA/Gvd3DrzU1gA8O5MHKu/Zzh5FBEFxQ2H1iw==", + "version": "19.3.4", + "resolved": "https://registry.npmjs.org/decentraland-dapps/-/decentraland-dapps-19.3.4.tgz", + "integrity": "sha512-x2aUGJA8syLretS/MZZQgx1UpptiAuG9yRI2Dcr6C36dS4dAaT6v/89MAX0KcWki9kRYaslCxK9S2hHeOSRVyQ==", "dependencies": { "@0xsequence/multicall": "^0.25.1", "@0xsequence/relayer": "^0.25.1", @@ -22050,15 +22052,16 @@ "@dcl/ui-env": "^1.5.0", "@transak/transak-sdk": "^1.0.31", "@types/flat": "0.0.28", + "@types/segment-analytics": "^0.0.38", "@well-known-components/fetch-component": "^2.0.1", - "@wert-io/widget-initializer": "^5.2.0", + "@wert-io/widget-initializer": "^6.1.0", "axios": "^0.21.1", "date-fns": "^1.29.0", "dcl-catalyst-client": "^21.1.0", "decentraland-connect": "^6.2.0", "decentraland-crypto-fetch": "^2.0.1", - "decentraland-transactions": "^2.0.3", - "decentraland-ui": "^5.8.0", + "decentraland-transactions": "^2.3.2", + "decentraland-ui": "^5.14.0", "ethers": "^5.6.8", "events": "^3.3.0", "flat": "^5.0.2", @@ -22174,6 +22177,11 @@ "tslib": "^2.1.0" } }, + "node_modules/decentraland-dapps/node_modules/@wert-io/widget-initializer": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@wert-io/widget-initializer/-/widget-initializer-6.1.0.tgz", + "integrity": "sha512-itC9nAsX6AOWeWmmfZiaD1k3pFpinzIo9Fpl9YxcbRcebs/ViHMmo0W3XGm+kCSaNsno2VWddGlG95KX6fG+LA==" + }, "node_modules/decentraland-dapps/node_modules/intl-messageformat": { "version": "9.13.0", "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-9.13.0.tgz", @@ -22336,9 +22344,9 @@ } }, "node_modules/decentraland-gatsby/node_modules/@dcl/ui-env": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@dcl/ui-env/-/ui-env-1.4.1.tgz", - "integrity": "sha512-3xq1jFhM7yxEsvaEW2AB7uGOa7KdPQwoG6j6l9u10dOFmNgEFNPBv4ilsjtUIszqV2HwzyPa/7fYpERouurZBg==" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@dcl/ui-env/-/ui-env-1.5.0.tgz", + "integrity": "sha512-XxUznNb56JWpYWj8ZmuoS+RsXr2HanqMeKdPvqxkFvttjaec8N9BCg0jrfDxw2Q9T4hxYprjQfPzV5hQTqceNw==" }, "node_modules/decentraland-gatsby/node_modules/@formatjs/ecma402-abstract": { "version": "1.11.4", @@ -22472,6 +22480,52 @@ "url": "https://github.com/sponsors/fb55" } }, + "node_modules/decentraland-gatsby/node_modules/decentraland-dapps": { + "version": "18.5.0", + "resolved": "https://registry.npmjs.org/decentraland-dapps/-/decentraland-dapps-18.5.0.tgz", + "integrity": "sha512-QvYwfLHDU1CD4W/Wc901Dlsvp5OR1GxpyZdVyswB3nE6DsiulfA/Gvd3DrzU1gA8O5MHKu/Zzh5FBEFxQ2H1iw==", + "dependencies": { + "@0xsequence/multicall": "^0.25.1", + "@0xsequence/relayer": "^0.25.1", + "@dcl/crypto": "^3.3.1", + "@dcl/schemas": "^10.2.0", + "@dcl/single-sign-on-client": "^0.1.0", + "@dcl/ui-env": "^1.5.0", + "@transak/transak-sdk": "^1.0.31", + "@types/flat": "0.0.28", + "@well-known-components/fetch-component": "^2.0.1", + "@wert-io/widget-initializer": "^5.2.0", + "axios": "^0.21.1", + "date-fns": "^1.29.0", + "dcl-catalyst-client": "^21.1.0", + "decentraland-connect": "^6.2.0", + "decentraland-crypto-fetch": "^2.0.1", + "decentraland-transactions": "^2.0.3", + "decentraland-ui": "^5.8.0", + "ethers": "^5.6.8", + "events": "^3.3.0", + "flat": "^5.0.2", + "pusher-js": "^8.0.1", + "react-intl": "^5.20.7", + "redux-persistence": "^1.2.0", + "redux-persistence-engine-localstorage": "^1.0.0", + "redux-storage-decorator-filter": "^1.1.8", + "typesafe-actions": "^2.0.3", + "uuid": "^9.0.1" + }, + "engines": { + "npm": "^8.0.0 || ^9.0.0" + }, + "peerDependencies": { + "connected-react-router": "^6.9.1", + "history": "^4.10.1", + "react": "^17.0.2", + "react-redux": "^7.2.4", + "react-router": "^5.3.4", + "redux": "^4.1.0", + "redux-saga": "^1.1.3" + } + }, "node_modules/decentraland-gatsby/node_modules/detect-libc": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", @@ -22676,6 +22730,18 @@ "node": ">=4.2.0" } }, + "node_modules/decentraland-gatsby/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/decentraland-gatsby/node_modules/yaml": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", @@ -22707,13 +22773,13 @@ } }, "node_modules/decentraland-transactions": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/decentraland-transactions/-/decentraland-transactions-2.0.3.tgz", - "integrity": "sha512-gz5FQRhzt1dDpyXfzeoJYXFfKDZGkKWiaKR0/tsHzuSc5tUiFBDNChXMfi5LfAETpIxliDfawhbg/HMeGMBv4A==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/decentraland-transactions/-/decentraland-transactions-2.3.2.tgz", + "integrity": "sha512-VsYCQaJLO1tGcB94wW9yZcHCoAyznpV7gzK4bRQzSs9+oMC+MUhppNKpO8KZMHtYU/vvb88kDh9PDBbjb7RiAw==", "dependencies": { "@0xsquid/sdk": "^2.8.9", "@0xsquid/squid-types": "^0.1.51", - "decentraland-connect": "^6.0.0", + "decentraland-connect": "^6.2.0", "tslib": "^2.6.2" }, "peerDependencies": { @@ -22726,9 +22792,9 @@ "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, "node_modules/decentraland-ui": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/decentraland-ui/-/decentraland-ui-5.10.0.tgz", - "integrity": "sha512-3Bcr3xIlDkgfKE/V/ARuowRwzOsVVZYbalK0ifBeUzAMeGNjTwctV8w/wfxuk+bbkpJ3Of9oZSNVUSVxKsnqug==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/decentraland-ui/-/decentraland-ui-5.14.0.tgz", + "integrity": "sha512-+8UVamZOPteLe4BfharVecb48IrWAH4ff/PPm6dlmv7rcQqWFx7ALm1kcNrwWxE1Skeg2uUxWz8o0UsOLRePhg==", "dependencies": { "@dcl/schemas": "^10.2.0", "@dcl/ui-env": "^1.4.0", @@ -22767,9 +22833,9 @@ } }, "node_modules/decentraland-ui/node_modules/@dcl/ui-env": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@dcl/ui-env/-/ui-env-1.4.1.tgz", - "integrity": "sha512-3xq1jFhM7yxEsvaEW2AB7uGOa7KdPQwoG6j6l9u10dOFmNgEFNPBv4ilsjtUIszqV2HwzyPa/7fYpERouurZBg==" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@dcl/ui-env/-/ui-env-1.5.0.tgz", + "integrity": "sha512-XxUznNb56JWpYWj8ZmuoS+RsXr2HanqMeKdPvqxkFvttjaec8N9BCg0jrfDxw2Q9T4hxYprjQfPzV5hQTqceNw==" }, "node_modules/decentraland-ui/node_modules/uuid": { "version": "9.0.1", @@ -23007,14 +23073,6 @@ "node": ">=0.4.0" } }, - "node_modules/denque": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", - "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==", - "engines": { - "node": ">=0.10" - } - }, "node_modules/depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", @@ -23045,9 +23103,9 @@ "integrity": "sha1-cXvu1NwT59jzdi9wem1YpndCGOE=" }, "node_modules/destr": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.2.tgz", - "integrity": "sha512-65AlobnZMiCET00KaFFjUefxDX0khFA/E4myqZ7a6Sq1yZtR8+FVIvilVX66vF2uobSumxooYZChiRPCKNqhmg==" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.3.tgz", + "integrity": "sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==" }, "node_modules/destroy": { "version": "1.2.0", @@ -23516,14 +23574,14 @@ "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" }, "node_modules/duplexify": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", - "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.3.tgz", + "integrity": "sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==", "dependencies": { "end-of-stream": "^1.4.1", "inherits": "^2.0.3", "readable-stream": "^3.1.1", - "stream-shift": "^1.0.0" + "stream-shift": "^1.0.2" } }, "node_modules/eastasianwidth": { @@ -25208,6 +25266,11 @@ "lodash": "^4.17.0" } }, + "node_modules/ethers-multicall-provider/node_modules/@adraffy/ens-normalize": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz", + "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==" + }, "node_modules/ethers-multicall-provider/node_modules/@noble/curves": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", @@ -25236,9 +25299,9 @@ "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==" }, "node_modules/ethers-multicall-provider/node_modules/ethers": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.10.0.tgz", - "integrity": "sha512-nMNwYHzs6V1FR3Y4cdfxSQmNgZsRj1RiTU25JwvnJLmyzw9z3SKxNc2XKDuiXXo/v9ds5Mp9m6HBabgYQQ26tA==", + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.11.1.tgz", + "integrity": "sha512-mxTAE6wqJQAbp5QAe/+o+rXOID7Nw91OZXvgpjDa1r4fAbq2Nu314oEZSbjoRLacuCzs7kUC3clEvkCQowffGg==", "funding": [ { "type": "individual", @@ -25250,7 +25313,7 @@ } ], "dependencies": { - "@adraffy/ens-normalize": "1.10.0", + "@adraffy/ens-normalize": "1.10.1", "@noble/curves": "1.2.0", "@noble/hashes": "1.3.2", "@types/node": "18.15.13", @@ -25753,9 +25816,9 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, "node_modules/fast-redact": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.3.0.tgz", - "integrity": "sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.5.0.tgz", + "integrity": "sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==", "engines": { "node": ">=6" } @@ -26250,9 +26313,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", - "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "funding": [ { "type": "individual", @@ -29324,17 +29387,18 @@ } }, "node_modules/h3": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/h3/-/h3-1.10.1.tgz", - "integrity": "sha512-UBAUp47hmm4BB5/njB4LrEa9gpuvZj4/Qf/ynSMzO6Ku2RXaouxEfiG2E2IFnv6fxbhAkzjasDxmo6DFdEeXRg==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/h3/-/h3-1.11.1.tgz", + "integrity": "sha512-AbaH6IDnZN6nmbnJOH72y3c5Wwh9P97soSVdGSBbcDACRdkC0FEWf25pzx4f/NuOCK6quHmW18yF2Wx+G4Zi1A==", "dependencies": { "cookie-es": "^1.0.0", + "crossws": "^0.2.2", "defu": "^6.1.4", - "destr": "^2.0.2", + "destr": "^2.0.3", "iron-webcrypto": "^1.0.0", "ohash": "^1.1.3", "radix3": "^1.1.0", - "ufo": "^1.3.2", + "ufo": "^1.4.0", "uncrypto": "^0.1.3", "unenv": "^1.9.0" } @@ -31490,50 +31554,6 @@ "loose-envify": "^1.0.0" } }, - "node_modules/ioredis": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.3.2.tgz", - "integrity": "sha512-1DKMMzlIHM02eBBVOFQ1+AolGjs6+xEcM4PDL7NqOS6szq7H9jSaEkIUH6/a5Hl241LzW6JLSiAbNvTQjUupUA==", - "dependencies": { - "@ioredis/commands": "^1.1.1", - "cluster-key-slot": "^1.1.0", - "debug": "^4.3.4", - "denque": "^2.1.0", - "lodash.defaults": "^4.2.0", - "lodash.isarguments": "^3.1.0", - "redis-errors": "^1.2.0", - "redis-parser": "^3.0.0", - "standard-as-callback": "^2.1.0" - }, - "engines": { - "node": ">=12.22.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ioredis" - } - }, - "node_modules/ioredis/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/ioredis/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, "node_modules/ip": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", @@ -31791,9 +31811,9 @@ "integrity": "sha512-xgZgJtKEa9YmDqXodIgl7Fl1C8yNXr8w6gXjqK3LW4GcEiYT+6AQfJSE/8SPsEpLLmcvbv8YU+qet94UewHxqg==" }, "node_modules/iron-webcrypto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.0.0.tgz", - "integrity": "sha512-anOK1Mktt8U1Xi7fCM3RELTuYbnFikQY5VtrDj7kPgpejV7d43tWKhzgioO0zpkazLEL/j/iayRqnJhrGfqUsg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.1.0.tgz", + "integrity": "sha512-5vgYsCakNlaQub1orZK5QmNYhwYtcllTkZBp5sfIaCqY93Cf6l+v2rtE+E4TMbcfjxDMCdrO8wmp7+ZvhDECLA==", "funding": { "url": "https://github.com/sponsors/brc-dd" } @@ -34432,26 +34452,26 @@ } }, "node_modules/listhen": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/listhen/-/listhen-1.6.0.tgz", - "integrity": "sha512-z0RcEXVX5oTpY1bO02SKoTU/kmZSrFSngNNzHRM6KICR17PTq7ANush6AE6ztGJwJD4RLpBrVHd9GnV51J7s3w==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/listhen/-/listhen-1.7.2.tgz", + "integrity": "sha512-7/HamOm5YD9Wb7CFgAZkKgVPA96WwhcTQoqtm2VTZGVbVVn3IWKRBTgrU7cchA3Q8k9iCsG8Osoi9GX4JsGM9g==", "dependencies": { - "@parcel/watcher": "^2.4.0", - "@parcel/watcher-wasm": "2.4.0", - "citty": "^0.1.5", + "@parcel/watcher": "^2.4.1", + "@parcel/watcher-wasm": "^2.4.1", + "citty": "^0.1.6", "clipboardy": "^4.0.0", "consola": "^3.2.3", - "crossws": "^0.1.0", + "crossws": "^0.2.0", "defu": "^6.1.4", "get-port-please": "^3.1.2", - "h3": "^1.10.1", + "h3": "^1.10.2", "http-shutdown": "^1.2.2", "jiti": "^1.21.0", - "mlly": "^1.5.0", + "mlly": "^1.6.1", "node-forge": "^1.3.1", "pathe": "^1.1.2", "std-env": "^3.7.0", - "ufo": "^1.3.2", + "ufo": "^1.4.0", "untun": "^0.1.3", "uqr": "^0.1.2" }, @@ -34543,9 +34563,9 @@ } }, "node_modules/listhen/node_modules/npm-run-path": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz", - "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dependencies": { "path-key": "^4.0.0" }, @@ -34907,11 +34927,6 @@ "resolved": "https://registry.npmjs.org/lodash.deburr/-/lodash.deburr-4.1.0.tgz", "integrity": "sha512-m/M1U1f3ddMCs6Hq2tAsYThTBDaAKFDX3dwDo97GEYzamXi9SqUpjWi/Rrj/gf3X2n8ktwgZrlP1z6E3v/IExQ==" }, - "node_modules/lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" - }, "node_modules/lodash.every": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.every/-/lodash.every-4.6.0.tgz", @@ -34932,11 +34947,6 @@ "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" }, - "node_modules/lodash.isarguments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==" - }, "node_modules/lodash.isequal": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", @@ -38420,9 +38430,9 @@ "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" }, "node_modules/mlly": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.5.0.tgz", - "integrity": "sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.6.1.tgz", + "integrity": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==", "dependencies": { "acorn": "^8.11.3", "pathe": "^1.1.2", @@ -38820,9 +38830,9 @@ } }, "node_modules/node-fetch-native": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.1.tgz", - "integrity": "sha512-bW9T/uJDPAJB2YNYEpWzE54U5O3MQidXsOyTfnbKYtTtFexRvGzb1waphBN4ZwP6EcIvYYEOwW0b72BpAqydTw==" + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.4.tgz", + "integrity": "sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==" }, "node_modules/node-forge": { "version": "1.3.1", @@ -39425,13 +39435,13 @@ } }, "node_modules/ofetch": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.3.3.tgz", - "integrity": "sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==", + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.3.4.tgz", + "integrity": "sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==", "dependencies": { - "destr": "^2.0.1", - "node-fetch-native": "^1.4.0", - "ufo": "^1.3.0" + "destr": "^2.0.3", + "node-fetch-native": "^1.6.3", + "ufo": "^1.5.3" } }, "node_modules/ohash": { @@ -41524,9 +41534,9 @@ } }, "node_modules/preact": { - "version": "10.19.3", - "resolved": "https://registry.npmjs.org/preact/-/preact-10.19.3.tgz", - "integrity": "sha512-nHHTeFVBTHRGxJXKkKu5hT8C/YWBkPso4/Gad6xuj5dbptt9iF9NZr9pHbPhBrnT2klheu7mHTxTZ/LjwJiEiQ==", + "version": "10.20.1", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.20.1.tgz", + "integrity": "sha512-JIFjgFg9B2qnOoGiYMVBtrcFxHqn+dNXbq76bVmcaHYJFYR4lW67AOcXgAYQQTDYXDOg/kTZrKPNCdRgJ2UJmw==", "funding": { "type": "opencollective", "url": "https://opencollective.com/preact" @@ -42235,9 +42245,9 @@ } }, "node_modules/radix3": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.0.tgz", - "integrity": "sha512-pNsHDxbGORSvuSScqNJ+3Km6QAVqk8CfsCBIEoDgpqLrkD2f3QM4I7d1ozJJ172OmIcoUcerZaNWqtLkRXTV3A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz", + "integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==" }, "node_modules/raf": { "version": "3.4.1", @@ -43130,40 +43140,17 @@ } }, "node_modules/react-smooth": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/react-smooth/-/react-smooth-2.0.5.tgz", - "integrity": "sha512-BMP2Ad42tD60h0JW6BFaib+RJuV5dsXJK9Baxiv/HlNFjvRLqA9xrNKxVWnUIZPQfzUwGXIlU/dSYLU+54YGQA==", - "dependencies": { - "fast-equals": "^5.0.0", - "react-transition-group": "2.9.0" - }, - "peerDependencies": { - "prop-types": "^15.6.0", - "react": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/react-smooth/node_modules/dom-helpers": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz", - "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==", - "dependencies": { - "@babel/runtime": "^7.1.2" - } - }, - "node_modules/react-smooth/node_modules/react-transition-group": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz", - "integrity": "sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/react-smooth/-/react-smooth-4.0.1.tgz", + "integrity": "sha512-OE4hm7XqR0jNOq3Qmk9mFLyd6p2+j6bvbPJ7qlB7+oo0eNcL2l7WQzG6MBnT3EXY6xzkLMUBec3AfewJdA0J8w==", "dependencies": { - "dom-helpers": "^3.4.0", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2", - "react-lifecycles-compat": "^3.0.4" + "fast-equals": "^5.0.1", + "prop-types": "^15.8.1", + "react-transition-group": "^4.4.5" }, "peerDependencies": { - "react": ">=15.0.0", - "react-dom": ">=15.0.0" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, "node_modules/react-style-singleton": { @@ -43212,9 +43199,9 @@ } }, "node_modules/react-transition-group": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.2.tgz", - "integrity": "sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==", + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", "dependencies": { "@babel/runtime": "^7.5.5", "dom-helpers": "^5.0.1", @@ -43227,9 +43214,9 @@ } }, "node_modules/react-virtualized-auto-sizer": { - "version": "1.0.21", - "resolved": "https://registry.npmjs.org/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.21.tgz", - "integrity": "sha512-RedZxj452+ITLfqIrR02BjvCaXV63YVIcVrvmruDZXFpJGazg4gHNs1AShPGVLvEuLGZdZ9AtkGKhWvzEujL8g==", + "version": "1.0.24", + "resolved": "https://registry.npmjs.org/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.24.tgz", + "integrity": "sha512-3kCn7N9NEb3FlvJrSHWGQ4iVl+ydQObq2fHMn12i5wbtm74zHOPhz/i64OL3c1S1vi9i2GXtZqNqUJTQ+BnNfg==", "peerDependencies": { "react": "^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0", "react-dom": "^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0" @@ -43434,15 +43421,15 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "node_modules/recharts": { - "version": "2.10.4", - "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.10.4.tgz", - "integrity": "sha512-/Q7/wdf8bW91lN3NEeCjL9RWfaiXQViJFgdnas4Eix/I8B9HAI3tHHK/CW/zDfgRMh4fzW1zlfjoz1IAapLO1Q==", + "version": "2.12.3", + "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.12.3.tgz", + "integrity": "sha512-vE/F7wTlokf5mtCqVDJlVKelCjliLSJ+DJxj79XlMREm7gpV7ljwbrwE3CfeaoDlOaLX+6iwHaVRn9587YkwIg==", "dependencies": { "clsx": "^2.0.0", "eventemitter3": "^4.0.1", - "lodash": "^4.17.19", + "lodash": "^4.17.21", "react-is": "^16.10.2", - "react-smooth": "^2.0.5", + "react-smooth": "^4.0.0", "recharts-scale": "^0.4.4", "tiny-invariant": "^1.3.1", "victory-vendor": "^36.6.8" @@ -43451,7 +43438,6 @@ "node": ">=14" }, "peerDependencies": { - "prop-types": "^15.6.0", "react": "^16.0.0 || ^17.0.0 || ^18.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0" } @@ -43495,25 +43481,6 @@ "node": ">=8" } }, - "node_modules/redis-errors": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz", - "integrity": "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==", - "engines": { - "node": ">=4" - } - }, - "node_modules/redis-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz", - "integrity": "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==", - "dependencies": { - "redis-errors": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/redux": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/redux/-/redux-4.1.2.tgz", @@ -46798,11 +46765,6 @@ "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" }, - "node_modules/standard-as-callback": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz", - "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==" - }, "node_modules/standard-error": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/standard-error/-/standard-error-1.1.0.tgz", @@ -46881,9 +46843,9 @@ } }, "node_modules/stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", + "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==" }, "node_modules/stream-to-it": { "version": "0.2.4", @@ -48762,9 +48724,9 @@ } }, "node_modules/ufo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.2.tgz", - "integrity": "sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==" + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz", + "integrity": "sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==" }, "node_modules/uglify-js": { "version": "2.4.24", @@ -49881,9 +49843,9 @@ } }, "node_modules/victory-vendor": { - "version": "36.8.2", - "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.8.2.tgz", - "integrity": "sha512-NfSQi7ISCdBbDpn3b6rg+8RpFZmWIM9mcks48BbogHE2F6h1XKdA34oiCKP5hP1OGvTotDRzsexiJKzrK4Exuw==", + "version": "36.9.2", + "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.9.2.tgz", + "integrity": "sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ==", "dependencies": { "@types/d3-array": "^3.0.3", "@types/d3-ease": "^3.0.0", @@ -52669,9 +52631,9 @@ } }, "@0xsquid/sdk": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/@0xsquid/sdk/-/sdk-2.8.9.tgz", - "integrity": "sha512-8bkp6GGRxUI7XbuQ5kfbkGY8qQXOA6q0fDK92gmlq0ooNFW/4eRv7U9WHr6ivsMl4UcxGcPfTP+yDES+FVHTcA==", + "version": "2.8.10", + "resolved": "https://registry.npmjs.org/@0xsquid/sdk/-/sdk-2.8.10.tgz", + "integrity": "sha512-0/H7SmhYW/EzXqu4Ao0WTTE1SJpEO8o4ddj7MC4TSJLQK64msakXAUXm6ez3rtleoqBrIpxookTfOOCgiYkvJg==", "requires": { "@cosmjs/encoding": "^0.31.0", "@cosmjs/stargate": "^0.31.3", @@ -52704,11 +52666,11 @@ "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==" }, "axios": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz", - "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==", + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", + "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", "requires": { - "follow-redirects": "^1.15.4", + "follow-redirects": "^1.15.6", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } @@ -52756,9 +52718,9 @@ } }, "@0xsquid/squid-types": { - "version": "0.1.53", - "resolved": "https://registry.npmjs.org/@0xsquid/squid-types/-/squid-types-0.1.53.tgz", - "integrity": "sha512-n+pVQXiDoos89PgGTPYhMEFG3EeBy/rrAPzGFbtnYXL5R2Pq3loANyTmSjKMY3hCwAxyQ3tGYym52peKq4TYSQ==", + "version": "0.1.59", + "resolved": "https://registry.npmjs.org/@0xsquid/squid-types/-/squid-types-0.1.59.tgz", + "integrity": "sha512-RGzcIltKESbrFTpsA2zo/qpAvFGdMhmpyH1nD2wy17EzQPiWWg7q8BdkeSGSz+zIVPuIqHF49Ux7RXKaqp5gQA==", "requires": { "@axelar-network/axelarjs-sdk": "^0.13.6", "@ethersproject/providers": "^5.7.2", @@ -53540,9 +53502,9 @@ } }, "engine.io-parser": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.1.tgz", - "integrity": "sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ==" + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.2.tgz", + "integrity": "sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==" }, "ethers": { "version": "5.7.2", @@ -53587,9 +53549,9 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "socket.io-client": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.4.tgz", - "integrity": "sha512-wh+OkeF0rAVCrABWQBaEjLfb7DVPotMbu0cgWgyR0v6eA4EoVnAwcIeIbcdTE3GT/H3kbdLl7OoH2+asoDRIIg==", + "version": "4.7.5", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.5.tgz", + "integrity": "sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ==", "requires": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.3.2", @@ -56918,11 +56880,6 @@ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" }, - "@ioredis/commands": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.2.0.tgz", - "integrity": "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==" - }, "@ipld/car": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/@ipld/car/-/car-3.2.4.tgz", @@ -57716,9 +57673,9 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "superstruct": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-1.0.3.tgz", - "integrity": "sha512-8iTn3oSS8nRGn+C2pgXSKPI3jmpm6FExNazNpjvqS6ZUJQCej3PUXEKM8NjHBOs54ExM+LPW/FBRhymrdcCiSg==" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-1.0.4.tgz", + "integrity": "sha512-7JpaAoX2NGyoFlI9NBh66BQXGONc+uE+MRS5i2iOBKuS4e+ccgMDjATgZldkah+33DakBxDHiss9kvUcGAO8UQ==" } } }, @@ -58363,22 +58320,22 @@ } }, "@parcel/watcher": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.0.tgz", - "integrity": "sha512-XJLGVL0DEclX5pcWa2N9SX1jCGTDd8l972biNooLFtjneuGqodupPQh6XseXIBBeVIMaaJ7bTcs3qGvXwsp4vg==", - "requires": { - "@parcel/watcher-android-arm64": "2.4.0", - "@parcel/watcher-darwin-arm64": "2.4.0", - "@parcel/watcher-darwin-x64": "2.4.0", - "@parcel/watcher-freebsd-x64": "2.4.0", - "@parcel/watcher-linux-arm-glibc": "2.4.0", - "@parcel/watcher-linux-arm64-glibc": "2.4.0", - "@parcel/watcher-linux-arm64-musl": "2.4.0", - "@parcel/watcher-linux-x64-glibc": "2.4.0", - "@parcel/watcher-linux-x64-musl": "2.4.0", - "@parcel/watcher-win32-arm64": "2.4.0", - "@parcel/watcher-win32-ia32": "2.4.0", - "@parcel/watcher-win32-x64": "2.4.0", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz", + "integrity": "sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==", + "requires": { + "@parcel/watcher-android-arm64": "2.4.1", + "@parcel/watcher-darwin-arm64": "2.4.1", + "@parcel/watcher-darwin-x64": "2.4.1", + "@parcel/watcher-freebsd-x64": "2.4.1", + "@parcel/watcher-linux-arm-glibc": "2.4.1", + "@parcel/watcher-linux-arm64-glibc": "2.4.1", + "@parcel/watcher-linux-arm64-musl": "2.4.1", + "@parcel/watcher-linux-x64-glibc": "2.4.1", + "@parcel/watcher-linux-x64-musl": "2.4.1", + "@parcel/watcher-win32-arm64": "2.4.1", + "@parcel/watcher-win32-ia32": "2.4.1", + "@parcel/watcher-win32-x64": "2.4.1", "detect-libc": "^1.0.3", "is-glob": "^4.0.3", "micromatch": "^4.0.5", @@ -58393,63 +58350,63 @@ } }, "@parcel/watcher-android-arm64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.0.tgz", - "integrity": "sha512-+fPtO/GsbYX1LJnCYCaDVT3EOBjvSFdQN9Mrzh9zWAOOfvidPWyScTrHIZHHfJBvlHzNA0Gy0U3NXFA/M7PHUA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.1.tgz", + "integrity": "sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==", "optional": true }, "@parcel/watcher-darwin-arm64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.0.tgz", - "integrity": "sha512-T/At5pansFuQ8VJLRx0C6C87cgfqIYhW2N/kBfLCUvDhCah0EnLLwaD/6MW3ux+rpgkpQAnMELOCTKlbwncwiA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.1.tgz", + "integrity": "sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==", "optional": true }, "@parcel/watcher-darwin-x64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.0.tgz", - "integrity": "sha512-vZMv9jl+szz5YLsSqEGCMSllBl1gU1snfbRL5ysJU03MEa6gkVy9OMcvXV1j4g0++jHEcvzhs3Z3LpeEbVmY6Q==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.1.tgz", + "integrity": "sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==", "optional": true }, "@parcel/watcher-freebsd-x64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.0.tgz", - "integrity": "sha512-dHTRMIplPDT1M0+BkXjtMN+qLtqq24sLDUhmU+UxxLP2TEY2k8GIoqIJiVrGWGomdWsy5IO27aDV1vWyQ6gfHA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.1.tgz", + "integrity": "sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==", "optional": true }, "@parcel/watcher-linux-arm-glibc": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.0.tgz", - "integrity": "sha512-9NQXD+qk46RwATNC3/UB7HWurscY18CnAPMTFcI9Y8CTbtm63/eex1SNt+BHFinEQuLBjaZwR2Lp+n7pmEJPpQ==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.1.tgz", + "integrity": "sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==", "optional": true }, "@parcel/watcher-linux-arm64-glibc": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.0.tgz", - "integrity": "sha512-QuJTAQdsd7PFW9jNGaV9Pw+ZMWV9wKThEzzlY3Lhnnwy7iW23qtQFPql8iEaSFMCVI5StNNmONUopk+MFKpiKg==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.1.tgz", + "integrity": "sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==", "optional": true }, "@parcel/watcher-linux-arm64-musl": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.0.tgz", - "integrity": "sha512-oyN+uA9xcTDo/45bwsd6TFHa7Lc7hKujyMlvwrCLvSckvWogndCEoVYFNfZ6JJ2KNL/6fFiGPcbjp8jJmEh5Ng==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.1.tgz", + "integrity": "sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==", "optional": true }, "@parcel/watcher-linux-x64-glibc": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.0.tgz", - "integrity": "sha512-KphV8awJmxU3q52JQvJot0QMu07CIyEjV+2Tb2ZtbucEgqyRcxOBDMsqp1JNq5nuDXtcCC0uHQICeiEz38dPBQ==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz", + "integrity": "sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==", "optional": true }, "@parcel/watcher-linux-x64-musl": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.0.tgz", - "integrity": "sha512-7jzcOonpXNWcSijPpKD5IbC6xC7yTibjJw9jviVzZostYLGxbz8LDJLUnLzLzhASPlPGgpeKLtFUMjAAzM+gSA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.1.tgz", + "integrity": "sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==", "optional": true }, "@parcel/watcher-wasm": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-wasm/-/watcher-wasm-2.4.0.tgz", - "integrity": "sha512-MNgQ4WCbBybqQ97KwR/hqJGYTg3+s8qHpgIyFWB2qJOBvoJWbXuJGmm4ZkPLq2bMaANqCZqrXwmKYagZTkMKZA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-wasm/-/watcher-wasm-2.4.1.tgz", + "integrity": "sha512-/ZR0RxqxU/xxDGzbzosMjh4W6NdYFMqq2nvo2b8SLi7rsl/4jkL8S5stIikorNkdR50oVDvqb/3JT05WM+CRRA==", "requires": { "is-glob": "^4.0.3", "micromatch": "^4.0.5", @@ -58463,21 +58420,21 @@ } }, "@parcel/watcher-win32-arm64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.0.tgz", - "integrity": "sha512-NOej2lqlq8bQNYhUMnOD0nwvNql8ToQF+1Zhi9ULZoG+XTtJ9hNnCFfyICxoZLXor4bBPTOnzs/aVVoefYnjIg==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.1.tgz", + "integrity": "sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==", "optional": true }, "@parcel/watcher-win32-ia32": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.0.tgz", - "integrity": "sha512-IO/nM+K2YD/iwjWAfHFMBPz4Zqn6qBDqZxY4j2n9s+4+OuTSRM/y/irksnuqcspom5DjkSeF9d0YbO+qpys+JA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.1.tgz", + "integrity": "sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==", "optional": true }, "@parcel/watcher-win32-x64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.0.tgz", - "integrity": "sha512-pAUyUVjfFjWaf/pShmJpJmNxZhbMvJASUpdes9jL6bTEJ+gDxPRSpXTIemNyNsb9AtbiGXs9XduP1reThmd+dA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz", + "integrity": "sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==", "optional": true }, "@parcel/workers": { @@ -60222,13 +60179,13 @@ } }, "@solana/web3.js": { - "version": "1.89.1", - "resolved": "https://registry.npmjs.org/@solana/web3.js/-/web3.js-1.89.1.tgz", - "integrity": "sha512-t9TTLtPQxtQB3SAf/5E8xPXfVDsC6WGOsgKY02l2cbe0HLymT7ynE8Hu48Lk5qynHCquj6nhISfEHcjMkYpu/A==", + "version": "1.91.2", + "resolved": "https://registry.npmjs.org/@solana/web3.js/-/web3.js-1.91.2.tgz", + "integrity": "sha512-WXPl5VXtfNKWM2RkGj7mvX6dKcZURDKe1lWBFAt/RqDBI9Rjr9hr7Y+U+yz2+TyViMmoinfJVlkS4gk2FPDG/g==", "requires": { "@babel/runtime": "^7.23.4", "@noble/curves": "^1.2.0", - "@noble/hashes": "^1.3.2", + "@noble/hashes": "^1.3.3", "@solana/buffer-layout": "^4.0.1", "agentkeepalive": "^4.5.0", "bigint-buffer": "^1.1.5", @@ -60244,17 +60201,17 @@ }, "dependencies": { "@noble/curves": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.3.0.tgz", - "integrity": "sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.0.tgz", + "integrity": "sha512-p+4cb332SFCrReJkCYe8Xzm0OWi4Jji5jVdIZRL/PmacmDkFNw6MrrV+gGpiPxLHbV+zKFRywUWbaseT+tZRXg==", "requires": { - "@noble/hashes": "1.3.3" + "@noble/hashes": "1.4.0" } }, "@noble/hashes": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.3.tgz", - "integrity": "sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==" }, "bn.js": { "version": "5.2.1", @@ -62613,9 +62570,9 @@ } }, "@types/d3-path": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.0.2.tgz", - "integrity": "sha512-WAIEVlOCdd/NKRYTsqCpOMHQHemKBEINf8YXMYOtXH0GA7SY0dqMB78P3Uhgfy+4X+/Mlw2wDtlETkN6kQUCMA==" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==" }, "@types/d3-scale": { "version": "4.0.8", @@ -63144,6 +63101,11 @@ "@types/node": "*" } }, + "@types/segment-analytics": { + "version": "0.0.38", + "resolved": "https://registry.npmjs.org/@types/segment-analytics/-/segment-analytics-0.0.38.tgz", + "integrity": "sha512-0clAuA7t6HxtpyXl4veE/oNVdcQFhlxnxgYlk0LeEYSoW3s3zZV5xa6DVHcOtozUO4u15Ipet5TdP88GbwKHvg==" + }, "@types/semver": { "version": "7.5.1", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.1.tgz", @@ -64298,9 +64260,9 @@ "integrity": "sha512-pdMwUawmAtH/LScbjKJq/y2+gZFggFMc2tlJrlPSrgKajvYPEis3L9QKcMyC9RN1Xos4ezAP5AJfRCNN6RMKCQ==" }, "@walletconnect/core": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.11.0.tgz", - "integrity": "sha512-2Tjp5BCevI7dbmqo/OrCjX4tqgMqwJNQLlQAlphqPfvwlF9+tIu6pGcVbSN3U9zyXzWIZCeleqEaWUeSeET4Ew==", + "version": "2.11.3", + "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.11.3.tgz", + "integrity": "sha512-/9m4EqiggFUwkQDv5PDWbcTI+yCVnBd/iYW5iIHEkivg2/mnBr2bQz2r/vtPjp19r/ZK62Dx0+UN3U+BWP8ulQ==", "requires": { "@walletconnect/heartbeat": "1.2.1", "@walletconnect/jsonrpc-provider": "1.0.13", @@ -64313,8 +64275,8 @@ "@walletconnect/relay-auth": "^1.0.4", "@walletconnect/safe-json": "^1.0.2", "@walletconnect/time": "^1.0.2", - "@walletconnect/types": "2.11.0", - "@walletconnect/utils": "2.11.0", + "@walletconnect/types": "2.11.3", + "@walletconnect/utils": "2.11.3", "events": "^3.3.0", "isomorphic-unfetch": "3.1.0", "lodash.isequal": "4.5.0", @@ -64342,21 +64304,20 @@ "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==" }, "unstorage": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.10.1.tgz", - "integrity": "sha512-rWQvLRfZNBpF+x8D3/gda5nUCQL2PgXy2jNG4U7/Rc9BGEv9+CAJd0YyGCROUBKs9v49Hg8huw3aih5Bf5TAVw==", + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.10.2.tgz", + "integrity": "sha512-cULBcwDqrS8UhlIysUJs2Dk0Mmt8h7B0E6mtR+relW9nZvsf/u4SkAYyNliPiPW7XtFNb5u3IUMkxGxFTTRTgQ==", "requires": { "anymatch": "^3.1.3", - "chokidar": "^3.5.3", - "destr": "^2.0.2", - "h3": "^1.8.2", - "ioredis": "^5.3.2", - "listhen": "^1.5.5", - "lru-cache": "^10.0.2", + "chokidar": "^3.6.0", + "destr": "^2.0.3", + "h3": "^1.11.1", + "listhen": "^1.7.2", + "lru-cache": "^10.2.0", "mri": "^1.2.0", - "node-fetch-native": "^1.4.1", + "node-fetch-native": "^1.6.2", "ofetch": "^1.3.3", - "ufo": "^1.3.1" + "ufo": "^1.4.0" } } } @@ -64370,19 +64331,19 @@ } }, "@walletconnect/ethereum-provider": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@walletconnect/ethereum-provider/-/ethereum-provider-2.11.0.tgz", - "integrity": "sha512-YrTeHVjuSuhlUw7SQ6xBJXDuJ6iAC+RwINm9nVhoKYJSHAy3EVSJZOofMKrnecL0iRMtD29nj57mxAInIBRuZA==", + "version": "2.11.3", + "resolved": "https://registry.npmjs.org/@walletconnect/ethereum-provider/-/ethereum-provider-2.11.3.tgz", + "integrity": "sha512-lg+ZzjLfk1GZgLVwMBmCteSNQ6hVn0Fgo1xDnzU/Ak3IqyfWIeMcM79Z5NgPLQOwqBVGckoBnx5BU5wai+AjGg==", "requires": { "@walletconnect/jsonrpc-http-connection": "^1.0.7", "@walletconnect/jsonrpc-provider": "^1.0.13", "@walletconnect/jsonrpc-types": "^1.0.3", "@walletconnect/jsonrpc-utils": "^1.0.8", "@walletconnect/modal": "^2.6.2", - "@walletconnect/sign-client": "2.11.0", - "@walletconnect/types": "2.11.0", - "@walletconnect/universal-provider": "2.11.0", - "@walletconnect/utils": "2.11.0", + "@walletconnect/sign-client": "2.11.3", + "@walletconnect/types": "2.11.3", + "@walletconnect/universal-provider": "2.11.3", + "@walletconnect/utils": "2.11.3", "events": "^3.3.0" } }, @@ -64532,18 +64493,18 @@ } }, "@walletconnect/sign-client": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.11.0.tgz", - "integrity": "sha512-H2ukscibBS+6WrzQWh+WyVBqO5z4F5et12JcwobdwgHnJSlqIoZxqnUYYWNCI5rUR5UKsKWaUyto4AE9N5dw4Q==", + "version": "2.11.3", + "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.11.3.tgz", + "integrity": "sha512-JVjLTxN/3NjMXv5zalSGKuSYLRyU2yX6AWEdq17cInlrwODpbWZr6PS1uxMWdH4r90DXBLhdtwDbEq/pfd0BPg==", "requires": { - "@walletconnect/core": "2.11.0", + "@walletconnect/core": "2.11.3", "@walletconnect/events": "^1.0.1", "@walletconnect/heartbeat": "1.2.1", "@walletconnect/jsonrpc-utils": "1.0.8", "@walletconnect/logger": "^2.0.1", "@walletconnect/time": "^1.0.2", - "@walletconnect/types": "2.11.0", - "@walletconnect/utils": "2.11.0", + "@walletconnect/types": "2.11.3", + "@walletconnect/utils": "2.11.3", "events": "^3.3.0" } }, @@ -64556,9 +64517,9 @@ } }, "@walletconnect/types": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.11.0.tgz", - "integrity": "sha512-AB5b1lrEbCGHxqS2vqfCkIoODieH+ZAUp9rA1O2ftrhnqDJiJK983Df87JhYhECsQUBHHfALphA8ydER0q+9sw==", + "version": "2.11.3", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.11.3.tgz", + "integrity": "sha512-JY4wA9MVosDW9dcJMTpnwliste0aJGJ1X6Q4ulLsQsgWRSEBRkLila0oUT01TDBW9Yq8uUp7uFOUTaKx6KWVAg==", "requires": { "@walletconnect/events": "^1.0.1", "@walletconnect/heartbeat": "1.2.1", @@ -64589,45 +64550,44 @@ "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==" }, "unstorage": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.10.1.tgz", - "integrity": "sha512-rWQvLRfZNBpF+x8D3/gda5nUCQL2PgXy2jNG4U7/Rc9BGEv9+CAJd0YyGCROUBKs9v49Hg8huw3aih5Bf5TAVw==", + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.10.2.tgz", + "integrity": "sha512-cULBcwDqrS8UhlIysUJs2Dk0Mmt8h7B0E6mtR+relW9nZvsf/u4SkAYyNliPiPW7XtFNb5u3IUMkxGxFTTRTgQ==", "requires": { "anymatch": "^3.1.3", - "chokidar": "^3.5.3", - "destr": "^2.0.2", - "h3": "^1.8.2", - "ioredis": "^5.3.2", - "listhen": "^1.5.5", - "lru-cache": "^10.0.2", + "chokidar": "^3.6.0", + "destr": "^2.0.3", + "h3": "^1.11.1", + "listhen": "^1.7.2", + "lru-cache": "^10.2.0", "mri": "^1.2.0", - "node-fetch-native": "^1.4.1", + "node-fetch-native": "^1.6.2", "ofetch": "^1.3.3", - "ufo": "^1.3.1" + "ufo": "^1.4.0" } } } }, "@walletconnect/universal-provider": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@walletconnect/universal-provider/-/universal-provider-2.11.0.tgz", - "integrity": "sha512-zgJv8jDvIMP4Qse/D9oIRXGdfoNqonsrjPZanQ/CHNe7oXGOBiQND2IIeX+tS0H7uNA0TPvctljCLiIN9nw4eA==", + "version": "2.11.3", + "resolved": "https://registry.npmjs.org/@walletconnect/universal-provider/-/universal-provider-2.11.3.tgz", + "integrity": "sha512-5iW7eAEuf4YV079wYoqU9mCRAxPU7Vhh+3n8DtUkUAET/5M0HCxmq0dGw26TxNJvXeIVrQmmmaj9QyeJsiVy3w==", "requires": { "@walletconnect/jsonrpc-http-connection": "^1.0.7", "@walletconnect/jsonrpc-provider": "1.0.13", "@walletconnect/jsonrpc-types": "^1.0.2", "@walletconnect/jsonrpc-utils": "^1.0.7", "@walletconnect/logger": "^2.0.1", - "@walletconnect/sign-client": "2.11.0", - "@walletconnect/types": "2.11.0", - "@walletconnect/utils": "2.11.0", + "@walletconnect/sign-client": "2.11.3", + "@walletconnect/types": "2.11.3", + "@walletconnect/utils": "2.11.3", "events": "^3.3.0" } }, "@walletconnect/utils": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.11.0.tgz", - "integrity": "sha512-hxkHPlTlDQILHfIKXlmzgNJau/YcSBC3XHUSuZuKZbNEw3duFT6h6pm3HT/1+j1a22IG05WDsNBuTCRkwss+BQ==", + "version": "2.11.3", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.11.3.tgz", + "integrity": "sha512-jsdNkrl/IcTkzWFn0S2d0urzBXg6RxVJtUYRsUx3qI3wzOGiABP9ui3yiZ3SgZOv9aRe62PaNp1qpbYZ+zPb8Q==", "requires": { "@stablelib/chacha20poly1305": "1.0.1", "@stablelib/hkdf": "1.0.1", @@ -64637,7 +64597,7 @@ "@walletconnect/relay-api": "^1.0.9", "@walletconnect/safe-json": "^1.0.2", "@walletconnect/time": "^1.0.2", - "@walletconnect/types": "2.11.0", + "@walletconnect/types": "2.11.3", "@walletconnect/window-getters": "^1.0.1", "@walletconnect/window-metadata": "^1.0.1", "detect-browser": "5.3.0", @@ -67035,9 +66995,9 @@ } }, "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "requires": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -67074,9 +67034,9 @@ } }, "citty": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.5.tgz", - "integrity": "sha512-AS7n5NSc0OQVMV9v6wt3ByujNIrne0/cTjiC2MYqhvao57VNfiuVksTSr2p17nVOhEr2KtqiAkGwHcgMC/qUuQ==", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz", + "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==", "requires": { "consola": "^3.2.3" } @@ -67352,11 +67312,6 @@ "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" }, - "cluster-key-slot": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz", - "integrity": "sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==" - }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -67944,9 +67899,10 @@ } }, "crossws": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.1.1.tgz", - "integrity": "sha512-c9c/o7bS3OjsdpSkvexpka0JNlesBF2JU9B2V1yNsYGwRbAafxhJQ7VI9b48D5bpONz/oxbPGMzBojy9sXoQIQ==" + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.2.4.tgz", + "integrity": "sha512-DAxroI2uSOgUKLz00NX6A8U/8EE3SZHmIND+10jkVSaypvyt57J5JEOxAQOL6lQxyzi/wZbTIwssU1uy69h5Vg==", + "requires": {} }, "crypt": { "version": "0.0.2", @@ -68817,9 +68773,9 @@ } }, "decentraland-dapps": { - "version": "18.5.0", - "resolved": "https://registry.npmjs.org/decentraland-dapps/-/decentraland-dapps-18.5.0.tgz", - "integrity": "sha512-QvYwfLHDU1CD4W/Wc901Dlsvp5OR1GxpyZdVyswB3nE6DsiulfA/Gvd3DrzU1gA8O5MHKu/Zzh5FBEFxQ2H1iw==", + "version": "19.3.4", + "resolved": "https://registry.npmjs.org/decentraland-dapps/-/decentraland-dapps-19.3.4.tgz", + "integrity": "sha512-x2aUGJA8syLretS/MZZQgx1UpptiAuG9yRI2Dcr6C36dS4dAaT6v/89MAX0KcWki9kRYaslCxK9S2hHeOSRVyQ==", "requires": { "@0xsequence/multicall": "^0.25.1", "@0xsequence/relayer": "^0.25.1", @@ -68829,15 +68785,16 @@ "@dcl/ui-env": "^1.5.0", "@transak/transak-sdk": "^1.0.31", "@types/flat": "0.0.28", + "@types/segment-analytics": "^0.0.38", "@well-known-components/fetch-component": "^2.0.1", - "@wert-io/widget-initializer": "^5.2.0", + "@wert-io/widget-initializer": "^6.1.0", "axios": "^0.21.1", "date-fns": "^1.29.0", "dcl-catalyst-client": "^21.1.0", "decentraland-connect": "5.2.4", "decentraland-crypto-fetch": "^2.0.1", - "decentraland-transactions": "^2.0.3", - "decentraland-ui": "^5.8.0", + "decentraland-transactions": "^2.3.2", + "decentraland-ui": "^5.14.0", "ethers": "^5.6.8", "events": "^3.3.0", "flat": "^5.0.2", @@ -68933,6 +68890,11 @@ "tslib": "^2.1.0" } }, + "@wert-io/widget-initializer": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@wert-io/widget-initializer/-/widget-initializer-6.1.0.tgz", + "integrity": "sha512-itC9nAsX6AOWeWmmfZiaD1k3pFpinzIo9Fpl9YxcbRcebs/ViHMmo0W3XGm+kCSaNsno2VWddGlG95KX6fG+LA==" + }, "intl-messageformat": { "version": "9.13.0", "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-9.13.0.tgz", @@ -69066,9 +69028,9 @@ }, "dependencies": { "@dcl/ui-env": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@dcl/ui-env/-/ui-env-1.4.1.tgz", - "integrity": "sha512-3xq1jFhM7yxEsvaEW2AB7uGOa7KdPQwoG6j6l9u10dOFmNgEFNPBv4ilsjtUIszqV2HwzyPa/7fYpERouurZBg==" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@dcl/ui-env/-/ui-env-1.5.0.tgz", + "integrity": "sha512-XxUznNb56JWpYWj8ZmuoS+RsXr2HanqMeKdPvqxkFvttjaec8N9BCg0jrfDxw2Q9T4hxYprjQfPzV5hQTqceNw==" }, "@formatjs/ecma402-abstract": { "version": "1.11.4", @@ -69181,6 +69143,40 @@ "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" }, + "decentraland-dapps": { + "version": "18.5.0", + "resolved": "https://registry.npmjs.org/decentraland-dapps/-/decentraland-dapps-18.5.0.tgz", + "integrity": "sha512-QvYwfLHDU1CD4W/Wc901Dlsvp5OR1GxpyZdVyswB3nE6DsiulfA/Gvd3DrzU1gA8O5MHKu/Zzh5FBEFxQ2H1iw==", + "requires": { + "@0xsequence/multicall": "^0.25.1", + "@0xsequence/relayer": "^0.25.1", + "@dcl/crypto": "^3.3.1", + "@dcl/schemas": "^10.2.0", + "@dcl/single-sign-on-client": "^0.1.0", + "@dcl/ui-env": "^1.5.0", + "@transak/transak-sdk": "^1.0.31", + "@types/flat": "0.0.28", + "@well-known-components/fetch-component": "^2.0.1", + "@wert-io/widget-initializer": "^5.2.0", + "axios": "^0.21.1", + "date-fns": "^1.29.0", + "dcl-catalyst-client": "^21.1.0", + "decentraland-connect": "5.2.4", + "decentraland-crypto-fetch": "^2.0.1", + "decentraland-transactions": "^2.0.3", + "decentraland-ui": "^5.8.0", + "ethers": "^5.6.8", + "events": "^3.3.0", + "flat": "^5.0.2", + "pusher-js": "^8.0.1", + "react-intl": "^5.20.7", + "redux-persistence": "^1.2.0", + "redux-persistence-engine-localstorage": "^1.0.0", + "redux-storage-decorator-filter": "^1.1.8", + "typesafe-actions": "^2.0.3", + "uuid": "^9.0.1" + } + }, "detect-libc": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", @@ -69326,6 +69322,11 @@ "optional": true, "peer": true }, + "uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" + }, "yaml": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", @@ -69352,9 +69353,9 @@ } }, "decentraland-transactions": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/decentraland-transactions/-/decentraland-transactions-2.0.3.tgz", - "integrity": "sha512-gz5FQRhzt1dDpyXfzeoJYXFfKDZGkKWiaKR0/tsHzuSc5tUiFBDNChXMfi5LfAETpIxliDfawhbg/HMeGMBv4A==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/decentraland-transactions/-/decentraland-transactions-2.3.2.tgz", + "integrity": "sha512-VsYCQaJLO1tGcB94wW9yZcHCoAyznpV7gzK4bRQzSs9+oMC+MUhppNKpO8KZMHtYU/vvb88kDh9PDBbjb7RiAw==", "requires": { "@0xsquid/sdk": "^2.8.9", "@0xsquid/squid-types": "^0.1.51", @@ -69370,9 +69371,9 @@ } }, "decentraland-ui": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/decentraland-ui/-/decentraland-ui-5.10.0.tgz", - "integrity": "sha512-3Bcr3xIlDkgfKE/V/ARuowRwzOsVVZYbalK0ifBeUzAMeGNjTwctV8w/wfxuk+bbkpJ3Of9oZSNVUSVxKsnqug==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/decentraland-ui/-/decentraland-ui-5.14.0.tgz", + "integrity": "sha512-+8UVamZOPteLe4BfharVecb48IrWAH4ff/PPm6dlmv7rcQqWFx7ALm1kcNrwWxE1Skeg2uUxWz8o0UsOLRePhg==", "requires": { "@dcl/schemas": "^10.2.0", "@dcl/ui-env": "^1.4.0", @@ -69396,9 +69397,9 @@ }, "dependencies": { "@dcl/ui-env": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@dcl/ui-env/-/ui-env-1.4.1.tgz", - "integrity": "sha512-3xq1jFhM7yxEsvaEW2AB7uGOa7KdPQwoG6j6l9u10dOFmNgEFNPBv4ilsjtUIszqV2HwzyPa/7fYpERouurZBg==" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@dcl/ui-env/-/ui-env-1.5.0.tgz", + "integrity": "sha512-XxUznNb56JWpYWj8ZmuoS+RsXr2HanqMeKdPvqxkFvttjaec8N9BCg0jrfDxw2Q9T4hxYprjQfPzV5hQTqceNw==" }, "uuid": { "version": "9.0.1", @@ -69577,11 +69578,6 @@ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, - "denque": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", - "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==" - }, "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", @@ -69603,9 +69599,9 @@ "integrity": "sha1-cXvu1NwT59jzdi9wem1YpndCGOE=" }, "destr": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.2.tgz", - "integrity": "sha512-65AlobnZMiCET00KaFFjUefxDX0khFA/E4myqZ7a6Sq1yZtR8+FVIvilVX66vF2uobSumxooYZChiRPCKNqhmg==" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.3.tgz", + "integrity": "sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==" }, "destroy": { "version": "1.2.0", @@ -69986,14 +69982,14 @@ "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" }, "duplexify": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", - "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.3.tgz", + "integrity": "sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==", "requires": { "end-of-stream": "^1.4.1", "inherits": "^2.0.3", "readable-stream": "^3.1.1", - "stream-shift": "^1.0.0" + "stream-shift": "^1.0.2" } }, "eastasianwidth": { @@ -71326,6 +71322,11 @@ "lodash": "^4.17.0" }, "dependencies": { + "@adraffy/ens-normalize": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz", + "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==" + }, "@noble/curves": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", @@ -71345,11 +71346,11 @@ "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==" }, "ethers": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.10.0.tgz", - "integrity": "sha512-nMNwYHzs6V1FR3Y4cdfxSQmNgZsRj1RiTU25JwvnJLmyzw9z3SKxNc2XKDuiXXo/v9ds5Mp9m6HBabgYQQ26tA==", + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.11.1.tgz", + "integrity": "sha512-mxTAE6wqJQAbp5QAe/+o+rXOID7Nw91OZXvgpjDa1r4fAbq2Nu314oEZSbjoRLacuCzs7kUC3clEvkCQowffGg==", "requires": { - "@adraffy/ens-normalize": "1.10.0", + "@adraffy/ens-normalize": "1.10.1", "@noble/curves": "1.2.0", "@noble/hashes": "1.3.2", "@types/node": "18.15.13", @@ -71725,9 +71726,9 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, "fast-redact": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.3.0.tgz", - "integrity": "sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==" + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.5.0.tgz", + "integrity": "sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==" }, "fast-safe-stringify": { "version": "2.1.1", @@ -72104,9 +72105,9 @@ "dev": true }, "follow-redirects": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", - "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==" }, "for-each": { "version": "0.3.3", @@ -74363,17 +74364,18 @@ } }, "h3": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/h3/-/h3-1.10.1.tgz", - "integrity": "sha512-UBAUp47hmm4BB5/njB4LrEa9gpuvZj4/Qf/ynSMzO6Ku2RXaouxEfiG2E2IFnv6fxbhAkzjasDxmo6DFdEeXRg==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/h3/-/h3-1.11.1.tgz", + "integrity": "sha512-AbaH6IDnZN6nmbnJOH72y3c5Wwh9P97soSVdGSBbcDACRdkC0FEWf25pzx4f/NuOCK6quHmW18yF2Wx+G4Zi1A==", "requires": { "cookie-es": "^1.0.0", + "crossws": "^0.2.2", "defu": "^6.1.4", - "destr": "^2.0.2", + "destr": "^2.0.3", "iron-webcrypto": "^1.0.0", "ohash": "^1.1.3", "radix3": "^1.1.0", - "ufo": "^1.3.2", + "ufo": "^1.4.0", "uncrypto": "^0.1.3", "unenv": "^1.9.0" } @@ -75982,37 +75984,6 @@ "loose-envify": "^1.0.0" } }, - "ioredis": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.3.2.tgz", - "integrity": "sha512-1DKMMzlIHM02eBBVOFQ1+AolGjs6+xEcM4PDL7NqOS6szq7H9jSaEkIUH6/a5Hl241LzW6JLSiAbNvTQjUupUA==", - "requires": { - "@ioredis/commands": "^1.1.1", - "cluster-key-slot": "^1.1.0", - "debug": "^4.3.4", - "denque": "^2.1.0", - "lodash.defaults": "^4.2.0", - "lodash.isarguments": "^3.1.0", - "redis-errors": "^1.2.0", - "redis-parser": "^3.0.0", - "standard-as-callback": "^2.1.0" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, "ip": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", @@ -76234,9 +76205,9 @@ } }, "iron-webcrypto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.0.0.tgz", - "integrity": "sha512-anOK1Mktt8U1Xi7fCM3RELTuYbnFikQY5VtrDj7kPgpejV7d43tWKhzgioO0zpkazLEL/j/iayRqnJhrGfqUsg==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.1.0.tgz", + "integrity": "sha512-5vgYsCakNlaQub1orZK5QmNYhwYtcllTkZBp5sfIaCqY93Cf6l+v2rtE+E4TMbcfjxDMCdrO8wmp7+ZvhDECLA==" }, "is-absolute": { "version": "1.0.0", @@ -78215,26 +78186,26 @@ } }, "listhen": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/listhen/-/listhen-1.6.0.tgz", - "integrity": "sha512-z0RcEXVX5oTpY1bO02SKoTU/kmZSrFSngNNzHRM6KICR17PTq7ANush6AE6ztGJwJD4RLpBrVHd9GnV51J7s3w==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/listhen/-/listhen-1.7.2.tgz", + "integrity": "sha512-7/HamOm5YD9Wb7CFgAZkKgVPA96WwhcTQoqtm2VTZGVbVVn3IWKRBTgrU7cchA3Q8k9iCsG8Osoi9GX4JsGM9g==", "requires": { - "@parcel/watcher": "^2.4.0", - "@parcel/watcher-wasm": "2.4.0", - "citty": "^0.1.5", + "@parcel/watcher": "^2.4.1", + "@parcel/watcher-wasm": "^2.4.1", + "citty": "^0.1.6", "clipboardy": "^4.0.0", "consola": "^3.2.3", - "crossws": "^0.1.0", + "crossws": "^0.2.0", "defu": "^6.1.4", "get-port-please": "^3.1.2", - "h3": "^1.10.1", + "h3": "^1.10.2", "http-shutdown": "^1.2.2", "jiti": "^1.21.0", - "mlly": "^1.5.0", + "mlly": "^1.6.1", "node-forge": "^1.3.1", "pathe": "^1.1.2", "std-env": "^3.7.0", - "ufo": "^1.3.2", + "ufo": "^1.4.0", "untun": "^0.1.3", "uqr": "^0.1.2" }, @@ -78289,9 +78260,9 @@ "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==" }, "npm-run-path": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz", - "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "requires": { "path-key": "^4.0.0" } @@ -78582,11 +78553,6 @@ "resolved": "https://registry.npmjs.org/lodash.deburr/-/lodash.deburr-4.1.0.tgz", "integrity": "sha512-m/M1U1f3ddMCs6Hq2tAsYThTBDaAKFDX3dwDo97GEYzamXi9SqUpjWi/Rrj/gf3X2n8ktwgZrlP1z6E3v/IExQ==" }, - "lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" - }, "lodash.every": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.every/-/lodash.every-4.6.0.tgz", @@ -78607,11 +78573,6 @@ "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" }, - "lodash.isarguments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==" - }, "lodash.isequal": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", @@ -80870,9 +80831,9 @@ "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" }, "mlly": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.5.0.tgz", - "integrity": "sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.6.1.tgz", + "integrity": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==", "requires": { "acorn": "^8.11.3", "pathe": "^1.1.2", @@ -81206,9 +81167,9 @@ } }, "node-fetch-native": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.1.tgz", - "integrity": "sha512-bW9T/uJDPAJB2YNYEpWzE54U5O3MQidXsOyTfnbKYtTtFexRvGzb1waphBN4ZwP6EcIvYYEOwW0b72BpAqydTw==" + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.4.tgz", + "integrity": "sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==" }, "node-forge": { "version": "1.3.1", @@ -81637,13 +81598,13 @@ } }, "ofetch": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.3.3.tgz", - "integrity": "sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==", + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.3.4.tgz", + "integrity": "sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==", "requires": { - "destr": "^2.0.1", - "node-fetch-native": "^1.4.0", - "ufo": "^1.3.0" + "destr": "^2.0.3", + "node-fetch-native": "^1.6.3", + "ufo": "^1.5.3" } }, "ohash": { @@ -83162,9 +83123,9 @@ } }, "preact": { - "version": "10.19.3", - "resolved": "https://registry.npmjs.org/preact/-/preact-10.19.3.tgz", - "integrity": "sha512-nHHTeFVBTHRGxJXKkKu5hT8C/YWBkPso4/Gad6xuj5dbptt9iF9NZr9pHbPhBrnT2klheu7mHTxTZ/LjwJiEiQ==" + "version": "10.20.1", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.20.1.tgz", + "integrity": "sha512-JIFjgFg9B2qnOoGiYMVBtrcFxHqn+dNXbq76bVmcaHYJFYR4lW67AOcXgAYQQTDYXDOg/kTZrKPNCdRgJ2UJmw==" }, "prebuild-install": { "version": "7.1.1", @@ -83699,9 +83660,9 @@ "integrity": "sha512-CRWxTFTDff0IELGJ/zz58yY4BDgyI14qSM5OLNKbCItJrff7m7dXbVF0kWYVCXQtPb3SXIVhXvAImH6eT7VLSg==" }, "radix3": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.0.tgz", - "integrity": "sha512-pNsHDxbGORSvuSScqNJ+3Km6QAVqk8CfsCBIEoDgpqLrkD2f3QM4I7d1ozJJ172OmIcoUcerZaNWqtLkRXTV3A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz", + "integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==" }, "raf": { "version": "3.4.1", @@ -84360,33 +84321,13 @@ "requires": {} }, "react-smooth": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/react-smooth/-/react-smooth-2.0.5.tgz", - "integrity": "sha512-BMP2Ad42tD60h0JW6BFaib+RJuV5dsXJK9Baxiv/HlNFjvRLqA9xrNKxVWnUIZPQfzUwGXIlU/dSYLU+54YGQA==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/react-smooth/-/react-smooth-4.0.1.tgz", + "integrity": "sha512-OE4hm7XqR0jNOq3Qmk9mFLyd6p2+j6bvbPJ7qlB7+oo0eNcL2l7WQzG6MBnT3EXY6xzkLMUBec3AfewJdA0J8w==", "requires": { - "fast-equals": "^5.0.0", - "react-transition-group": "2.9.0" - }, - "dependencies": { - "dom-helpers": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz", - "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==", - "requires": { - "@babel/runtime": "^7.1.2" - } - }, - "react-transition-group": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz", - "integrity": "sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==", - "requires": { - "dom-helpers": "^3.4.0", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2", - "react-lifecycles-compat": "^3.0.4" - } - } + "fast-equals": "^5.0.1", + "prop-types": "^15.8.1", + "react-transition-group": "^4.4.5" } }, "react-style-singleton": { @@ -84421,9 +84362,9 @@ } }, "react-transition-group": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.2.tgz", - "integrity": "sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==", + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", "requires": { "@babel/runtime": "^7.5.5", "dom-helpers": "^5.0.1", @@ -84432,9 +84373,9 @@ } }, "react-virtualized-auto-sizer": { - "version": "1.0.21", - "resolved": "https://registry.npmjs.org/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.21.tgz", - "integrity": "sha512-RedZxj452+ITLfqIrR02BjvCaXV63YVIcVrvmruDZXFpJGazg4gHNs1AShPGVLvEuLGZdZ9AtkGKhWvzEujL8g==", + "version": "1.0.24", + "resolved": "https://registry.npmjs.org/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.24.tgz", + "integrity": "sha512-3kCn7N9NEb3FlvJrSHWGQ4iVl+ydQObq2fHMn12i5wbtm74zHOPhz/i64OL3c1S1vi9i2GXtZqNqUJTQ+BnNfg==", "requires": {} }, "read": { @@ -84592,15 +84533,15 @@ } }, "recharts": { - "version": "2.10.4", - "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.10.4.tgz", - "integrity": "sha512-/Q7/wdf8bW91lN3NEeCjL9RWfaiXQViJFgdnas4Eix/I8B9HAI3tHHK/CW/zDfgRMh4fzW1zlfjoz1IAapLO1Q==", + "version": "2.12.3", + "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.12.3.tgz", + "integrity": "sha512-vE/F7wTlokf5mtCqVDJlVKelCjliLSJ+DJxj79XlMREm7gpV7ljwbrwE3CfeaoDlOaLX+6iwHaVRn9587YkwIg==", "requires": { "clsx": "^2.0.0", "eventemitter3": "^4.0.1", - "lodash": "^4.17.19", + "lodash": "^4.17.21", "react-is": "^16.10.2", - "react-smooth": "^2.0.5", + "react-smooth": "^4.0.0", "recharts-scale": "^0.4.4", "tiny-invariant": "^1.3.1", "victory-vendor": "^36.6.8" @@ -84638,19 +84579,6 @@ "strip-indent": "^3.0.0" } }, - "redis-errors": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz", - "integrity": "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==" - }, - "redis-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz", - "integrity": "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==", - "requires": { - "redis-errors": "^1.0.0" - } - }, "redux": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/redux/-/redux-4.1.2.tgz", @@ -87121,11 +87049,6 @@ "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" }, - "standard-as-callback": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz", - "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==" - }, "standard-error": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/standard-error/-/standard-error-1.1.0.tgz", @@ -87190,9 +87113,9 @@ } }, "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", + "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==" }, "stream-to-it": { "version": "0.2.4", @@ -88603,9 +88526,9 @@ "integrity": "sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==" }, "ufo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.2.tgz", - "integrity": "sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==" + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz", + "integrity": "sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==" }, "uglify-js": { "version": "2.4.24", @@ -89447,9 +89370,9 @@ } }, "victory-vendor": { - "version": "36.8.2", - "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.8.2.tgz", - "integrity": "sha512-NfSQi7ISCdBbDpn3b6rg+8RpFZmWIM9mcks48BbogHE2F6h1XKdA34oiCKP5hP1OGvTotDRzsexiJKzrK4Exuw==", + "version": "36.9.2", + "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.9.2.tgz", + "integrity": "sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ==", "requires": { "@types/d3-array": "^3.0.3", "@types/d3-ease": "^3.0.0", diff --git a/package.json b/package.json index 64325f0d4..611a13e87 100644 --- a/package.json +++ b/package.json @@ -75,9 +75,9 @@ "dayjs": "^1.11.9", "dayjs-precise-range": "^1.0.1", "dcl-catalyst-client": "^21.5.5", - "decentraland-dapps": "^18.5.0", + "decentraland-dapps": "^19.3.4", "decentraland-gatsby": "^5.109.0", - "decentraland-ui": "^5.10.0", + "decentraland-ui": "^5.14.0", "discord.js": "^14.7.1", "dompurify": "^2.3.3", "dotenv": "^16.0.0", diff --git a/src/components/AccountLinkToast/AccountLinkToast.css b/src/components/AccountLinkToast/AccountLinkToast.css new file mode 100644 index 000000000..b1baa9620 --- /dev/null +++ b/src/components/AccountLinkToast/AccountLinkToast.css @@ -0,0 +1,37 @@ +.AccountLinkToast { + position: fixed !important; + right: 0; + bottom: 0; + background-color: var(--black-700) !important; + max-width: 360px !important; +} + +.AccountLinkToast--hidden { + display: none; +} + +.AccountLinkToast > .toast-info .close { + background-color: var(--black-600) !important; +} + +.AccountLinkToast > .toast-info .close-icon { + background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCIgdmlld0JveD0iMCAwIDEwIDEwIiBmaWxsPSJub25lIj48cGF0aCBvcGFjaXR5PSIwLjIiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMS41OTYxOSAwLjE4MjAwNEwwLjE4MTk4IDEuNTk2MjJMMy4zNjM5NiA0Ljc3ODJMMC4xODE5OCA3Ljk2MDE4TDEuNTk2MTkgOS4zNzQzOUw0Ljc3ODE3IDYuMTkyNDFMNy45NjAxNSA5LjM3NDM5TDkuMzc0MzcgNy45NjAxOEw2LjE5MjM5IDQuNzc4Mkw5LjM3NDM3IDEuNTk2MjJMNy45NjAxNSAwLjE4MjAwNEw0Ljc3ODE3IDMuMzYzOThMMS41OTYxOSAwLjE4MjAwNFoiIGZpbGw9IndoaXRlIi8+PC9zdmc+); +} + +.AccountLinkToast__Title { + display: flex; + align-items: center; + gap: 7px; +} + +.AccountLinkToast__Button { + padding: 7px 11px !important; + color: var(--white-900) !important; + background-color: var(--black-800) !important; +} + +@media (max-width: 768px) { + .AccountLinkToast { + max-width: none !important; + } +} diff --git a/src/components/AccountLinkToast/AccountLinkToast.tsx b/src/components/AccountLinkToast/AccountLinkToast.tsx new file mode 100644 index 000000000..159a4a16e --- /dev/null +++ b/src/components/AccountLinkToast/AccountLinkToast.tsx @@ -0,0 +1,60 @@ +import { useEffect, useState } from 'react' + +import classNames from 'classnames' +import { Button } from 'decentraland-ui/dist/components/Button/Button' +import { Toast } from 'decentraland-ui/dist/components/Toast/Toast' + +import useFormatMessage from '../../hooks/useFormatMessage' +import Text from '../Common/Typography/Text' +import BellPurple from '../Icon/BellPurple' + +import './AccountLinkToast.css' + +interface Props { + show: boolean + setIsModalOpen: (value: boolean) => void +} + +function AccountLinkToast({ show, setIsModalOpen }: Props) { + const [isVisible, setIsVisible] = useState(false) + useEffect(() => { + setIsVisible(show) + }, [show]) + + const t = useFormatMessage() + return ( + <> + + + + {t('account_toast.title')} + + + } + body={ +
+ + {t('account_toast.description')} + + +
+ } + closable + onClose={() => setIsVisible(false)} + /> + + ) +} + +export default AccountLinkToast diff --git a/src/components/ActionCard/ActionCard.css b/src/components/ActionCard/ActionCard.css index bb1b1d485..7cfa9913e 100644 --- a/src/components/ActionCard/ActionCard.css +++ b/src/components/ActionCard/ActionCard.css @@ -40,12 +40,8 @@ color: var(--black-400); } -.ui.card.ActionCard--disabled svg circle { - fill: var(--black-100); -} - -.ui.card.ActionCard--disabled svg path { - fill: var(--black-400); +.ui.card.ActionCard--disabled svg { + filter: grayscale(100%) opacity(50%); } .ui.card.ActionCard .ActionCard__Label { diff --git a/src/components/ActionCard/ActionCard.tsx b/src/components/ActionCard/ActionCard.tsx index 5102c2831..c77cbcd1a 100644 --- a/src/components/ActionCard/ActionCard.tsx +++ b/src/components/ActionCard/ActionCard.tsx @@ -30,8 +30,8 @@ function ActionCard({ helper, }: ActionCardProps) { const t = useFormatMessage() - const isImplemented = !!action || !!onCardClick - const isActionable = isImplemented && !isDisabled && !isVerified + const isActionable = !isDisabled && !isVerified + return (

{title} - {!isImplemented && ( - {t('modal.identity_setup.soon')} - )} {isVerified && ( {t('modal.identity_setup.verified')} diff --git a/src/components/Banner/Banner.css b/src/components/Banner/Banner.css index 08a43a9e9..5ae28d5ff 100644 --- a/src/components/Banner/Banner.css +++ b/src/components/Banner/Banner.css @@ -1,11 +1,10 @@ .Banner { - display: none; align-items: center; align-content: stretch; position: relative; padding: 16px 16px 16px 20px; margin-top: 24px; - margin-bottom: 8px; + margin-bottom: 32px; border-radius: 8px; outline: 1px solid #0000000a; } @@ -79,17 +78,15 @@ padding-left: 0; padding-right: 0; min-width: 87px; + width: 100%; } } @media (min-width: 768px) { .Banner { - margin-top: 0; - margin-bottom: 35px; - } - - .OnlyDesktop .Banner { display: flex; + margin-top: 0; + margin-bottom: 32px; } .Banner .Banner__Icon { diff --git a/src/components/Banner/ConnectAccountsBanner.tsx b/src/components/Banner/ConnectAccountsBanner.tsx new file mode 100644 index 000000000..9acaffcb5 --- /dev/null +++ b/src/components/Banner/ConnectAccountsBanner.tsx @@ -0,0 +1,37 @@ +import { useState } from 'react' + +import { HIDE_CONNECT_ACCOUNTS_BANNER_KEY } from '../../front/localStorageKeys' +import useFormatMessage from '../../hooks/useFormatMessage' +import BellCircled from '../Icon/BellCircled' +import AccountsConnectModal from '../Modal/IdentityConnectModal/AccountsConnectModal' + +import Banner from './Banner' + +export const shouldShowConnectAccountsBanner = () => { + if (typeof window !== 'undefined') { + return localStorage.getItem(HIDE_CONNECT_ACCOUNTS_BANNER_KEY) !== 'true' + } + + return false +} + +export default function ConnectAccountsBanner() { + const t = useFormatMessage() + const [isAccountsConnectModalOpen, setIsAccountsConnectModalOpen] = useState(false) + + return ( + <> + } + buttonLabel={t(`banner.connect_accounts.button_label`)} + onButtonClick={() => setIsAccountsConnectModalOpen(true)} + /> + setIsAccountsConnectModalOpen(false)} /> + + ) +} diff --git a/src/components/Banner/LinkDiscordBanner.tsx b/src/components/Banner/LinkDiscordBanner.tsx deleted file mode 100644 index a7ecba00a..000000000 --- a/src/components/Banner/LinkDiscordBanner.tsx +++ /dev/null @@ -1,47 +0,0 @@ -import { useState } from 'react' - -import { AccountType } from '../../entities/User/types' -import { HIDE_LINK_DISCORD_BANNER_KEY, HIDE_LINK_DISCORD_MODAL_KEY } from '../../front/localStorageKeys' -import useFormatMessage from '../../hooks/useFormatMessage' -import DiscordCircledBanner from '../Icon/DiscordCircledBanner' -import AccountsConnectModal from '../Modal/IdentityConnectModal/AccountsConnectModal' - -import Banner from './Banner' - -export const shouldShowLinkDiscordBanner = () => { - if (typeof window !== 'undefined') { - return ( - localStorage.getItem(HIDE_LINK_DISCORD_MODAL_KEY) === 'true' && - localStorage.getItem(HIDE_LINK_DISCORD_BANNER_KEY) !== 'true' - ) - } - - return false -} - -function LinkDiscordBanner() { - const t = useFormatMessage() - const [isAccountsConnectModalOpen, setIsAccountsConnectModalOpen] = useState(false) - - return ( - <> - } - buttonLabel={t(`banner.link_discord.button_label`)} - onButtonClick={() => setIsAccountsConnectModalOpen(true)} - /> - setIsAccountsConnectModalOpen(false)} - account={AccountType.Discord} - /> - - ) -} - -export default LinkDiscordBanner diff --git a/src/components/Banner/RandomBanner.tsx b/src/components/Banner/RandomBanner.tsx index 13ac6da8f..7ce5c3028 100644 --- a/src/components/Banner/RandomBanner.tsx +++ b/src/components/Banner/RandomBanner.tsx @@ -1,8 +1,11 @@ -import useIsDiscordLinked from '../../hooks/useIsDiscordLinked' +import useAuthContext from 'decentraland-gatsby/dist/context/Auth/useAuthContext' + +import useIsProfileValidated from '../../hooks/useIsProfileValidated' import useNewsletterSubscription from '../../hooks/useNewsletterSubscription' +import usePushSubscriptions from '../../hooks/usePushSubscriptions' +import ConnectAccountsBanner, { shouldShowConnectAccountsBanner } from './ConnectAccountsBanner' import DelegationBanner, { shouldShowDelegationBanner } from './DelegationBanner' -import LinkDiscordBanner, { shouldShowLinkDiscordBanner } from './LinkDiscordBanner' import SubscriptionBanner from './SubscriptionBanner' interface Props { @@ -13,14 +16,17 @@ const randomNumber = new Date().valueOf() function RandomBanner({ isVisible }: Props) { const { showSubscriptionBanner } = useNewsletterSubscription() - const { isDiscordLinked, isLoadingIsDiscordLinked } = useIsDiscordLinked() + const [user] = useAuthContext() + const { isProfileValidated, validationChecked } = useIsProfileValidated(user) + + const { isSubscribedToDaoChannel, isLoadingPushSubscriptions } = usePushSubscriptions() - if (!isVisible || isLoadingIsDiscordLinked) { + if (!isVisible || !validationChecked || isLoadingPushSubscriptions) { return null } - if (shouldShowLinkDiscordBanner() && !isDiscordLinked && !isLoadingIsDiscordLinked) { - return + if (shouldShowConnectAccountsBanner() && (!isProfileValidated || !isSubscribedToDaoChannel)) { + return } const delegationBanner = diff --git a/src/components/Common/Typography/Text.css b/src/components/Common/Typography/Text.css index d111755e6..be853d286 100644 --- a/src/components/Common/Typography/Text.css +++ b/src/components/Common/Typography/Text.css @@ -63,6 +63,10 @@ color: var(--red-800); } +.Text.Text--color-white-900 { + color: var(--white-900); +} + .Text.Text--style-normal { font-style: normal; } diff --git a/src/components/Common/Typography/Text.tsx b/src/components/Common/Typography/Text.tsx index 2a8674d04..dd88a807f 100644 --- a/src/components/Common/Typography/Text.tsx +++ b/src/components/Common/Typography/Text.tsx @@ -10,7 +10,7 @@ const DEFAULT_FONT_SIZE: FontSize = 'md' const DEFAULT_FONT_STYLE: FontStyle = 'normal' export type FontSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' export type FontWeight = 'bold' | 'semi-bold' | 'normal' | 'medium' | 'light' -type TextColor = 'default' | 'primary' | 'secondary' | 'error' +type TextColor = 'default' | 'primary' | 'secondary' | 'error' | 'white-900' type FontStyle = 'normal' | 'italic' interface Props { diff --git a/src/components/Icon/BellCircled.tsx b/src/components/Icon/BellCircled.tsx new file mode 100644 index 000000000..7f881538d --- /dev/null +++ b/src/components/Icon/BellCircled.tsx @@ -0,0 +1,20 @@ +function BellCircled() { + return ( + + + + + + + + + + + + ) +} + +export default BellCircled diff --git a/src/components/Icon/BellPurple.tsx b/src/components/Icon/BellPurple.tsx new file mode 100644 index 000000000..6fce4bb65 --- /dev/null +++ b/src/components/Icon/BellPurple.tsx @@ -0,0 +1,19 @@ +function BellPurple() { + return ( + + + + + + + + + + + ) +} + +export default BellPurple diff --git a/src/components/Icon/CircledPush.tsx b/src/components/Icon/CircledPush.tsx new file mode 100644 index 000000000..721d8d371 --- /dev/null +++ b/src/components/Icon/CircledPush.tsx @@ -0,0 +1,45 @@ +interface Props { + size?: number +} + +function CircledPush({ size = 64 }: Props) { + return ( + + + + + + + + + + + + + + + + ) +} + +export default CircledPush diff --git a/src/components/Icon/Gear.tsx b/src/components/Icon/Gear.tsx index ef1632459..ca8b5db20 100644 --- a/src/components/Icon/Gear.tsx +++ b/src/components/Icon/Gear.tsx @@ -1,41 +1,10 @@ -function Gear() { +export default function Gear() { return ( - - - - - + - - - - - - - - - - - - + d="M11.967 3.905a.511.511 0 01-.16.577l-1.076.924a4.288 4.288 0 010 1.19l1.077.924a.511.511 0 01.159.577c-.11.279-.242.546-.393.804l-.117.19a5.99 5.99 0 01-.55.731.585.585 0 01-.609.16l-1.385-.415a4.86 4.86 0 01-1.094.595l-.31 1.339a.548.548 0 01-.453.417 6.81 6.81 0 01-2.114 0 .548.548 0 01-.453-.417l-.31-1.339a4.86 4.86 0 01-1.095-.595l-1.382.417a.59.59 0 01-.61-.16 5.981 5.981 0 01-.549-.73l-.117-.19a5.66 5.66 0 01-.393-.805.511.511 0 01.16-.576l1.076-.924a4.34 4.34 0 010-1.193L.192 4.482a.511.511 0 01-.159-.577 5.66 5.66 0 01.393-.804l.117-.19a5.98 5.98 0 01.55-.73.585.585 0 01.609-.16l1.385.415A4.864 4.864 0 014.18 1.84l.31-1.338a.548.548 0 01.453-.418A6.807 6.807 0 017.058.082a.548.548 0 01.453.417l.31 1.339c.393.152.761.354 1.095.595l1.385-.415a.59.59 0 01.609.16c.201.23.385.473.55.731l.116.19c.152.258.284.525.393.804l-.002.002zM6 7.877c.528 0 1.034-.198 1.407-.55.373-.351.583-.828.583-1.326 0-.497-.21-.974-.583-1.326A2.052 2.052 0 006 4.125c-.527 0-1.033.198-1.406.55a1.823 1.823 0 00-.583 1.326c0 .498.21.975.583 1.326.373.352.879.55 1.406.55z" + > ) } - -export default Gear diff --git a/src/components/Icon/GearNew.tsx b/src/components/Icon/GearNew.tsx deleted file mode 100644 index 753abc263..000000000 --- a/src/components/Icon/GearNew.tsx +++ /dev/null @@ -1,42 +0,0 @@ -function GearNew() { - return ( - - - - - - - - - - - - - - - - - - - - - ) -} - -export default GearNew diff --git a/src/components/Layout/Layout.tsx b/src/components/Layout/Layout.tsx index 086d93243..d20e48ab9 100644 --- a/src/components/Layout/Layout.tsx +++ b/src/components/Layout/Layout.tsx @@ -11,6 +11,7 @@ import { DROPDOWN_MENU_ITEM_CLICK_EVENT, DROPDOWN_MENU_SIGN_OUT_EVENT, } from 'decentraland-dapps/dist/containers/Navbar/constants' +import useNotifications from 'decentraland-dapps/dist/hooks/useNotifications' import useAuthContext from 'decentraland-gatsby/dist/context/Auth/useAuthContext' import { Footer } from 'decentraland-ui/dist/components/Footer/Footer' import { Navbar } from 'decentraland-ui/dist/components/Navbar/Navbar' @@ -18,13 +19,15 @@ import { ManaBalancesProps } from 'decentraland-ui/dist/components/UserMenu/Mana import { config } from 'decentraland-ui/dist/config' import { isEmpty } from 'lodash' -import { getSupportedChainIds } from '../../helpers' +import { addressShortener, getSupportedChainIds } from '../../helpers' import useAnalyticsTrack from '../../hooks/useAnalyticsTrack' import useAnalyticsTrackLink from '../../hooks/useAnalyticsTrackLink' import useDclFeatureFlags from '../../hooks/useDclFeatureFlags' +import useDclIdentity from '../../hooks/useDclIdentity' import useDclProfile from '../../hooks/useDclProfile' import { FeatureFlags } from '../../utils/features' import { fetchManaBalance } from '../../utils/mana' +import AvatarComponent from '../Common/Avatar' import ExternalLinkWarningModal from '../Modal/ExternalLinkWarningModal' import { LinkDiscordModal } from '../Modal/LinkDiscordModal/LinkDiscordModal' import WalletSelectorModal from '../Modal/WalletSelectorModal' @@ -157,7 +160,19 @@ export default function Layout({ children }: LayoutProps) { [track, userState] ) + const withNotifications = true + const dclIdentity = useDclIdentity() const hasProfile = !isEmpty(profile) + const { + isModalOpen, + isNotificationsOnboarding, + modalActiveTab, + isLoading, + notifications, + handleNotificationsOpen, + handleOnBegin, + handleOnChangeModalTab, + } = useNotifications(dclIdentity, withNotifications) return ( <> @@ -174,6 +189,27 @@ export default function Layout({ children }: LayoutProps) { onClickOpen={handleOpen} onClickSignIn={isAuthDappEnabled ? userState.authorize : userState.select} onClickSignOut={handleSignOut} + notifications={ + withNotifications + ? { + locale: 'en', + isLoading, + isOnboarding: isNotificationsOnboarding, + isOpen: isModalOpen, + items: notifications, + activeTab: modalActiveTab, + onClick: handleNotificationsOpen, + onClose: handleNotificationsOpen, + onBegin: handleOnBegin, + onChangeTab: (_, tab) => handleOnChangeModalTab(tab), + renderProfile: (address: string) => ( +
+ {addressShortener(address)} +
+ ), + } + : undefined + } />
{children}
{ const t = useFormatMessage() const [user] = useAuthContext() @@ -133,7 +135,7 @@ const Navigation = ({ activeTab }: NavigationProps) => { - {user && } + {NOTIFICATIONS_ENABLED && } diff --git a/src/components/Modal/IdentityConnectModal/AccountsConnectModal.css b/src/components/Modal/IdentityConnectModal/AccountsConnectModal.css index e9f0c53cb..337d4a3e5 100644 --- a/src/components/Modal/IdentityConnectModal/AccountsConnectModal.css +++ b/src/components/Modal/IdentityConnectModal/AccountsConnectModal.css @@ -13,3 +13,7 @@ svg.DiscordConnectStepIcon circle { svg.DiscordConnectStepIcon path { fill: #5d5fef; } + +.AccountsConnectModal__PushState { + padding: 32px 0; +} diff --git a/src/components/Modal/IdentityConnectModal/AccountsConnectModal.tsx b/src/components/Modal/IdentityConnectModal/AccountsConnectModal.tsx index 2b11fba43..bd299ffe5 100644 --- a/src/components/Modal/IdentityConnectModal/AccountsConnectModal.tsx +++ b/src/components/Modal/IdentityConnectModal/AccountsConnectModal.tsx @@ -1,11 +1,14 @@ import { useCallback, useEffect, useMemo, useState } from 'react' +import { ChainId } from '@dcl/schemas/dist/dapps/chain-id' +import { Web3Provider } from '@ethersproject/providers' import { useQueryClient } from '@tanstack/react-query' import useAuthContext from 'decentraland-gatsby/dist/context/Auth/useAuthContext' import { Button } from 'decentraland-ui/dist/components/Button/Button' import { Close } from 'decentraland-ui/dist/components/Close/Close' import { Modal, ModalProps } from 'decentraland-ui/dist/components/Modal/Modal' +import { PUSH_CHANNEL_ID } from '../../../constants' import { SegmentEvent } from '../../../entities/Events/types' import { GATSBY_DISCORD_PROFILE_VERIFICATION_URL } from '../../../entities/User/constants' import { AccountType } from '../../../entities/User/types' @@ -14,16 +17,19 @@ import useDiscordConnect from '../../../hooks/useDiscordConnect' import useFormatMessage, { FormatMessageFunction } from '../../../hooks/useFormatMessage' import useForumConnect, { THREAD_URL } from '../../../hooks/useForumConnect' import useIsProfileValidated from '../../../hooks/useIsProfileValidated' +import usePushSubscriptions from '../../../hooks/usePushSubscriptions' import locations, { navigate } from '../../../utils/locations' +import { getCaipAddress, getPushNotificationsEnv } from '../../../utils/notifications' import { ActionCardProps } from '../../ActionCard/ActionCard' import CheckCircle from '../../Icon/CheckCircle' import CircledDiscord from '../../Icon/CircledDiscord' import CircledForum from '../../Icon/CircledForum' -import CircledTwitter from '../../Icon/CircledTwitter' +import CircledPush from '../../Icon/CircledPush' import Comment from '../../Icon/Comment' import Copy from '../../Icon/Copy' import Lock from '../../Icon/Lock' import Sign from '../../Icon/Sign' +import UnsubscribedView from '../../Notifications/NotificationsFeedView/UnsubscribedView' import AccountConnection, { AccountConnectionProps } from './AccountConnection' import './AccountsConnectModal.css' @@ -40,6 +46,7 @@ enum ModalType { ChooseAccount, Forum, Discord, + Push, } type ModalState = { @@ -94,7 +101,7 @@ const STEPS_HELPERS_KEYS: Record> = success: GATSBY_DISCORD_PROFILE_VERIFICATION_URL, }, }, - [AccountType.Twitter]: {}, + [AccountType.Push]: {}, } const FORUM_CONNECT_STEPS_AMOUNT = 3 @@ -119,6 +126,18 @@ function getActionComponent(action: JSX.Element, isCompleted: boolean, isDisable return action } +function getCurrentAccount(modalType: ModalType) { + if (modalType === ModalType.Forum) { + return AccountType.Forum + } + + if (modalType === ModalType.Discord) { + return AccountType.Discord + } + + return AccountType.Push +} + function getAccountActionSteps( account: AccountType, stepsAmount: number, @@ -230,7 +249,7 @@ function AccountsConnectModal({ open, onClose, account }: Props) { const time = modalState.currentType === ModalType.Forum ? forumVerificationTime : discordVerificationTime const isTimerExpired = time <= 0 const isValidated = isForumValidationFinished || isDiscordValidationFinished - const currentAccount = modalState.currentType === ModalType.Forum ? AccountType.Forum : AccountType.Discord + const currentAccount = getCurrentAccount(modalState.currentType) const initializeAccount = useCallback((modal: ModalType, account: AccountType) => { setCurrentType(modal) @@ -259,6 +278,7 @@ function AccountsConnectModal({ open, onClose, account }: Props) { initializeDiscord() break default: + setCurrentType(ModalType.ChooseAccount) break } // eslint-disable-next-line react-hooks/exhaustive-deps @@ -298,8 +318,7 @@ function AccountsConnectModal({ open, onClose, account }: Props) { const handleForumValidate = useCallback(() => { setIsValidating(true) openForumThread() - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []) + }, [openForumThread]) const handleDiscordSign = useCallback(async () => { const STEP_NUMBER = 1 @@ -329,8 +348,34 @@ function AccountsConnectModal({ open, onClose, account }: Props) { const handleDiscordValidate = useCallback(() => { setIsValidating(true) openDiscordChannel() - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []) + }, [openDiscordChannel]) + + const [user, userState] = useAuthContext() + const chainId = userState.chainId || ChainId.ETHEREUM_GOERLI + const env = getPushNotificationsEnv(chainId) + const [pushState, setPushState] = useState<'subscribing' | 'success' | 'error' | null>(null) + + const initializePush = async () => { + if (!user || !userState.provider) { + return + } + + setPushState('subscribing') + setModalState((prev) => ({ ...prev, currentType: ModalType.Push })) + + const signer = new Web3Provider(userState.provider).getSigner() + const PushAPI = await import('@pushprotocol/restapi') + await PushAPI.channels.subscribe({ + signer, + channelAddress: getCaipAddress(PUSH_CHANNEL_ID, chainId), + userAddress: getCaipAddress(user, chainId), + onSuccess: () => setPushState('success'), + onError: () => setPushState('error'), + env, + }) + } + + const { isSubscribedToDaoChannel } = usePushSubscriptions() const stateMap = useMemo>( () => ({ @@ -350,12 +395,14 @@ function AccountsConnectModal({ open, onClose, account }: Props) { icon: , onCardClick: initializeDiscord, isVerified: isValidatedOnDiscord, - isNew: true, }, { - title: t('modal.identity_setup.twitter.card_title'), - description: t('modal.identity_setup.twitter.card_description'), - icon: , + title: t('modal.identity_setup.push.card_title'), + description: t('modal.identity_setup.push.card_description'), + icon: , + onCardClick: initializePush, + helper: t('modal.identity_setup.push.helper'), + isVerified: isSubscribedToDaoChannel, }, ], }, @@ -396,6 +443,13 @@ function AccountsConnectModal({ open, onClose, account }: Props) { button: getModalButton(t('modal.identity_setup.discord.action'), modalState.isValidating), helperText: t(getHelperTextKey(modalState.currentStep, AccountType.Discord)), }, + [ModalType.Push]: { + title: '', + subtitle: '', + actions: [], + button: <>, + helperText: '', + }, }), // eslint-disable-next-line react-hooks/exhaustive-deps [ @@ -418,7 +472,7 @@ function AccountsConnectModal({ open, onClose, account }: Props) { const queryClient = useQueryClient() - const handleOnClose = () => { + const handleClose = () => { resetValidation() setIsTimerActive(false) resetState(currentAccount) @@ -438,7 +492,7 @@ function AccountsConnectModal({ open, onClose, account }: Props) { const handlePostAction = () => { if (isValidated) { navigate(locations.profile({ address: address || '' })) - handleOnClose() + handleClose() } else { resetValidation() setModalState(INITIAL_STATE) @@ -448,31 +502,54 @@ function AccountsConnectModal({ open, onClose, account }: Props) { const timerTextKey = isTimerExpired ? 'modal.identity_setup.timer_expired' : 'modal.identity_setup.timer' return ( - }> - {isValidated === undefined ? ( - - ) : ( - + }> + {modalState.currentType === ModalType.Push && ( + <> + {pushState !== 'success' && ( +
+ +
+ )} + {pushState === 'success' && ( + setModalState(INITIAL_STATE)} + /> + )} + + )} + {modalState.currentType !== ModalType.Push && ( + <> + {isValidated === undefined ? ( + + ) : ( + + )} + )}
) diff --git a/src/components/Modal/IdentityConnectModal/PostConnection.tsx b/src/components/Modal/IdentityConnectModal/PostConnection.tsx index 002956480..ac69a6b2a 100644 --- a/src/components/Modal/IdentityConnectModal/PostConnection.tsx +++ b/src/components/Modal/IdentityConnectModal/PostConnection.tsx @@ -5,6 +5,7 @@ import { AccountType } from '../../../entities/User/types' import useFormatMessage from '../../../hooks/useFormatMessage' import Avatar from '../../Common/Avatar' import Markdown from '../../Common/Typography/Markdown' +import CircledPush from '../../Icon/CircledPush' import Discord from '../../Icon/Discord' import ForumBlue from '../../Icon/ForumBlue' import LinkFailed from '../../Icon/LinkFailed' @@ -23,7 +24,7 @@ interface Props { const ACCOUNT_ICON: Record = { [AccountType.Forum]: , [AccountType.Discord]: , - [AccountType.Twitter]: <>, + [AccountType.Push]: , } function PostConnection({ address, isValidated, account, onPostAction }: Props) { diff --git a/src/components/Modal/LinkDiscordModal/LinkDiscordModal.tsx b/src/components/Modal/LinkDiscordModal/LinkDiscordModal.tsx index 35fe341f0..e091bd8b4 100644 --- a/src/components/Modal/LinkDiscordModal/LinkDiscordModal.tsx +++ b/src/components/Modal/LinkDiscordModal/LinkDiscordModal.tsx @@ -1,4 +1,4 @@ -import { useEffect, useState } from 'react' +import { useCallback, useEffect, useState } from 'react' import classNames from 'classnames' import useAuthContext from 'decentraland-gatsby/dist/context/Auth/useAuthContext' @@ -6,11 +6,15 @@ import { Button } from 'decentraland-ui/dist/components/Button/Button' import { Close } from 'decentraland-ui/dist/components/Close/Close' import { Header } from 'decentraland-ui/dist/components/Header/Header' import { Modal } from 'decentraland-ui/dist/components/Modal/Modal' +import { z } from 'zod' import { AccountType } from '../../../entities/User/types' -import { HIDE_LINK_DISCORD_MODAL_KEY } from '../../../front/localStorageKeys' +import { SHOW_DISCORD_MODAL_KEY } from '../../../front/localStorageKeys' import useFormatMessage from '../../../hooks/useFormatMessage' import useIsDiscordLinked from '../../../hooks/useIsDiscordLinked' +import useIsProfileValidated from '../../../hooks/useIsProfileValidated' +import Time from '../../../utils/date/Time' +import AccountLinkToast from '../../AccountLinkToast/AccountLinkToast' import Text from '../../Common/Typography/Text' import CircledDiscord from '../../Icon/CircledDiscord' import LinkAccounts from '../../Icon/LinkAccounts' @@ -19,27 +23,29 @@ import AccountsConnectModal from '../IdentityConnectModal/AccountsConnectModal' import './LinkDiscordModal.css' -const shouldShowModal = () => { - if (typeof window !== 'undefined') { - return localStorage.getItem(HIDE_LINK_DISCORD_MODAL_KEY) !== 'true' - } - return true -} +const noticeCountSchema = z.object({ + lastDisplayTime: z.number(), + count: z.number(), +}) + +type NoticeCount = z.infer + +const getDaysDifference = (date1: Date, date2: Date) => Time(date1).diff(date2, 'days') export function LinkDiscordModal() { const [account] = useAuthContext() const { isDiscordLinked, isLoadingIsDiscordLinked } = useIsDiscordLinked() + const { isProfileValidated, validationChecked } = useIsProfileValidated(account, [ + AccountType.Discord, + AccountType.Push, + ]) const t = useFormatMessage() const [isLinkDiscordModalOpen, setIsLinkDiscordModalOpen] = useState(false) + const [showToast, setShowToast] = useState(false) const [isAccountsConnectModalOpen, setIsAccountsConnectModalOpen] = useState(false) - useEffect(() => { - setIsLinkDiscordModalOpen(!!account && shouldShowModal() && !isDiscordLinked && !isLoadingIsDiscordLinked) - }, [account, isDiscordLinked, isLoadingIsDiscordLinked]) - const handleClose = () => { - localStorage.setItem(HIDE_LINK_DISCORD_MODAL_KEY, 'true') setIsLinkDiscordModalOpen(false) } @@ -48,6 +54,58 @@ export function LinkDiscordModal() { setIsAccountsConnectModalOpen(true) } + const saveNoticeCount = (count: number) => { + const noticeCount: NoticeCount = { + lastDisplayTime: new Date().getTime(), + count, + } + localStorage.setItem(SHOW_DISCORD_MODAL_KEY, JSON.stringify(noticeCount)) + } + + const handleShowModalOrToast = useCallback(() => { + if (typeof window !== 'undefined' && account) { + const parsedResult = noticeCountSchema.safeParse(JSON.parse(localStorage.getItem(SHOW_DISCORD_MODAL_KEY) || '{}')) + if (!parsedResult.success) { + setShowToast(true) + saveNoticeCount(0) + } else { + const noticeCount = parsedResult.data + const daysSinceLastDisplay = getDaysDifference(new Date(), new Date(noticeCount.lastDisplayTime)) + if (!isLoadingIsDiscordLinked && !isDiscordLinked) { + if (noticeCount.count < 1 && daysSinceLastDisplay >= 1) { + setIsLinkDiscordModalOpen(true) + saveNoticeCount(1) + } else { + if (daysSinceLastDisplay >= 7) { + if (noticeCount.count < 2) { + setIsLinkDiscordModalOpen(true) + saveNoticeCount(2) + } else { + setShowToast(true) + saveNoticeCount(noticeCount.count + 1) + } + } + } + } + if (isDiscordLinked && !(validationChecked && isProfileValidated) && daysSinceLastDisplay >= 7) { + setShowToast(true) + saveNoticeCount(noticeCount.count + 1) + } + } + } + }, [account, isDiscordLinked, isLoadingIsDiscordLinked, isProfileValidated, validationChecked]) + + useEffect(() => { + handleShowModalOrToast() + }, [handleShowModalOrToast]) + + useEffect(() => { + if (!account) { + setIsLinkDiscordModalOpen(false) + setShowToast(false) + } + }, [account]) + return ( <> setIsAccountsConnectModalOpen(false)} - account={AccountType.Discord} + account={showToast ? undefined : AccountType.Discord} /> + ) } diff --git a/src/components/Notifications/NotificationsFeed.tsx b/src/components/Notifications/NotificationsFeed.tsx index 300577aab..c3ed81efb 100644 --- a/src/components/Notifications/NotificationsFeed.tsx +++ b/src/components/Notifications/NotificationsFeed.tsx @@ -28,7 +28,6 @@ import DiscordView from './NotificationsFeedView/DiscordView' import EmptyView from './NotificationsFeedView/EmptyView' import ListView from './NotificationsFeedView/ListView' import SettingsView from './NotificationsFeedView/SettingsView' -import UnsubscribedView from './NotificationsFeedView/UnsubscribedView' import './NotificationsFeed.css' @@ -169,7 +168,6 @@ export default function NotificationsFeed({ const showNotifications = isSubscribed && !isLoadingNotifications && hasNotifications && !isSettingsOpened && !showDiscordConnect const showLoadMoreButton = filteredNotifications?.length !== userNotifications?.length - const unsubscribedKey = isSubscribing ? 'subscribing' : 'unsubscribed' const isLoading = isLoadingSubscriptions || isRefetchingSubscriptions || @@ -206,14 +204,7 @@ export default function NotificationsFeed({ {!isLoading && (
- {showUnsubscribedView && ( - setShowDiscordConnect(true)} - /> - )} + {showUnsubscribedView && null} {showDiscordConnect && ( )} diff --git a/src/components/Notifications/NotificationsFeedView/UnsubscribedView.css b/src/components/Notifications/NotificationsFeedView/UnsubscribedView.css index e1de7dc1e..7b43a3701 100644 --- a/src/components/Notifications/NotificationsFeedView/UnsubscribedView.css +++ b/src/components/Notifications/NotificationsFeedView/UnsubscribedView.css @@ -1,7 +1,7 @@ .NotificationsFeed__UnsubscribedView { display: flex; flex-direction: column; - padding: 0 16px 16px 16px; + padding: 0 16px; align-items: center; text-align: center; justify-content: flex-start; diff --git a/src/components/Notifications/NotificationsFeedView/UnsubscribedView.tsx b/src/components/Notifications/NotificationsFeedView/UnsubscribedView.tsx index a9440463f..ae5db63df 100644 --- a/src/components/Notifications/NotificationsFeedView/UnsubscribedView.tsx +++ b/src/components/Notifications/NotificationsFeedView/UnsubscribedView.tsx @@ -1,44 +1,44 @@ import { Button } from 'decentraland-ui/dist/components/Button/Button' +import { Modal } from 'decentraland-ui/dist/components/Modal/Modal' import useFormatMessage from '../../../hooks/useFormatMessage' import Heading from '../../Common/Typography/Heading' import Text from '../../Common/Typography/Text' -import NotificationBellInactive from '../../Icon/NotificationBellInactive' import SignGray from '../../Icon/SignGray' import './UnsubscribedView.css' interface Props { - unsubscribedKey: string - isSubscribing: boolean - handleSubscribeUserToChannel: () => void - handleDiscordConnect: () => void + subscriptionState: 'subscribing' | 'success' | 'error' | null + onErrorClick: () => void } -function UnsubscribedView({ - unsubscribedKey, - isSubscribing, - handleSubscribeUserToChannel, - handleDiscordConnect, -}: Props) { +function UnsubscribedView({ subscriptionState, onErrorClick }: Props) { const t = useFormatMessage() - const UnsubscribedIcon = isSubscribing ? SignGray : NotificationBellInactive + + const isSubscribing = subscriptionState === 'subscribing' + const hasError = subscriptionState === 'error' + return ( -
- - - {t(`navigation.notifications.${unsubscribedKey}.title`)} - - - {t(`navigation.notifications.${unsubscribedKey}.description`)} - - - -
+ +
+ + + {t(`navigation.notifications.subscribing.title`)} + + + {t(`navigation.notifications.subscribing.description`)} + + + {hasError && ( + + {t(`navigation.notifications.error.description`)} + + )} +
+
) } diff --git a/src/components/Profile/ProfileSettings.css b/src/components/Profile/ProfileSettings.css index b977bfd9a..bc6789cff 100644 --- a/src/components/Profile/ProfileSettings.css +++ b/src/components/Profile/ProfileSettings.css @@ -1,13 +1,47 @@ -.ui.dropdown.ProfileSettings { - display: flex !important; +.ProfileSettings { + display: flex; + align-items: center; + gap: 6px; + padding: 6px; + margin: 0; + background-color: transparent; + border-radius: 3px; + border: 1px solid var(--black-400); + cursor: pointer; + color: var(--black-700); + font-size: 13px; + font-weight: 500; + line-height: 13px; + letter-spacing: 0.4px; + text-transform: uppercase; + box-shadow: 0px 2px 4px 0px rgba(115, 110, 125, 0.2); + width: 25.5px; + transition: width 0.2s ease-in; + white-space: nowrap; + overflow: hidden; } -.ui.dropdown.ProfileSettings > .menu, -.ui.dropdown.ProfileSettings > .menu .item { - background: var(--black-700); - color: var(--white-900); +.ProfileSettings:hover, +.ProfileSettings--active { + width: 153px; } -.ui.dropdown.ProfileSettings > .menu .item:hover { - background: var(--black-600); +.ProfileSettings__IconContainer { + display: flex; + align-items: center; + justify-content: center; +} + +.ProfileSettings__ButtonContainer { + position: relative; +} + +.ProfileSettings__Dot { + position: absolute; + right: -5px; + top: -5px; + width: 10px; + height: 10px; + border-radius: 25px; + background-color: var(--dcl-primary); } diff --git a/src/components/Profile/ProfileSettings.tsx b/src/components/Profile/ProfileSettings.tsx index 1133a5319..faec0dbe2 100644 --- a/src/components/Profile/ProfileSettings.tsx +++ b/src/components/Profile/ProfileSettings.tsx @@ -1,32 +1,36 @@ import { useState } from 'react' +import classNames from 'classnames' import useAuthContext from 'decentraland-gatsby/dist/context/Auth/useAuthContext' -import { Dropdown } from 'decentraland-ui/dist/components/Dropdown/Dropdown' import useFormatMessage from '../../hooks/useFormatMessage' import useIsProfileValidated from '../../hooks/useIsProfileValidated' import Gear from '../Icon/Gear' -import GearNew from '../Icon/GearNew' import AccountsConnectModal from '../Modal/IdentityConnectModal/AccountsConnectModal' import './ProfileSettings.css' function ProfileSettings() { - const t = useFormatMessage() const [user] = useAuthContext() + const t = useFormatMessage() const { isProfileValidated, validationChecked } = useIsProfileValidated(user) const [isSetUpOpen, setIsSetUpOpen] = useState(false) const showDot = validationChecked && !isProfileValidated return ( <> - : }> - - setIsSetUpOpen(true)} disabled={!validationChecked || isProfileValidated}> - {t('page.profile.settings.linked_profiles')} - - - +
+ + {showDot &&
} +
setIsSetUpOpen(false)} /> ) diff --git a/src/entities/User/model.ts b/src/entities/User/model.ts index 619a8fe84..fca2a1f93 100644 --- a/src/entities/User/model.ts +++ b/src/entities/User/model.ts @@ -79,7 +79,7 @@ export default class UserModel extends Model { const columnMap: Record = { [AccountType.Forum]: 'forum_id', [AccountType.Discord]: 'discord_id', - [AccountType.Twitter]: 'NOT_IMPLEMENTED', + [AccountType.Push]: 'NOT_IMPLEMENTED', } if (accounts.size === 0) { diff --git a/src/entities/User/types.ts b/src/entities/User/types.ts index 20adde651..f3496099a 100644 --- a/src/entities/User/types.ts +++ b/src/entities/User/types.ts @@ -32,5 +32,5 @@ export type ValidationComment = { export enum AccountType { Forum = 'forum', Discord = 'discord', - Twitter = 'twitter', + Push = 'push', } diff --git a/src/front/localStorageKeys.ts b/src/front/localStorageKeys.ts index 0517a31ad..eb5e92c16 100644 --- a/src/front/localStorageKeys.ts +++ b/src/front/localStorageKeys.ts @@ -2,7 +2,8 @@ export const HIDE_HOME_BANNER_KEY = 'org.decentraland.governance.home_banner.hid export const HIDE_PROJECTS_BANNER_KEY = 'org.decentraland.governance.projects_banner.hide' export const HIDE_DELEGATE_BANNER_KEY = 'org.decentraland.governance.delegate_banner.hide' export const HIDE_LINK_DISCORD_BANNER_KEY = 'org.decentraland.governance.link_discord_banner.hide' -export const HIDE_LINK_DISCORD_MODAL_KEY = 'org.decentraland.governance.link_discord_modal.hide' +export const SHOW_DISCORD_MODAL_KEY = 'org.decentraland.governance.link_discord_modal.show_data' +export const HIDE_CONNECT_ACCOUNTS_BANNER_KEY = 'org.decentraland.governance.connect_accounts_banner.hide' export const ACTION_BOX_EXPANDED_STATE_KEY = 'org.decentraland.governance.action_box.expanded' export const PROFILE_POP_UP_LOCAL_STORAGE_KEY = 'org.decentraland.governance.profile-pop-up-dismissed' export const NEWSLETTER_SUBSCRIPTION_KEY = 'org.decentraland.governance.newsletter_subscription' diff --git a/src/hooks/useDclIdentity.ts b/src/hooks/useDclIdentity.ts new file mode 100644 index 000000000..1c35e150d --- /dev/null +++ b/src/hooks/useDclIdentity.ts @@ -0,0 +1,18 @@ +import { useEffect, useState } from 'react' + +import { AuthIdentity } from 'decentraland-crypto-fetch' +import useAuthContext from 'decentraland-gatsby/dist/context/Auth/useAuthContext' + +export default function useDclIdentity() { + const [userAddress] = useAuthContext() + const [identity, setIdentity] = useState(null) + + useEffect(() => { + if (typeof window !== 'undefined' && !!userAddress) { + const ssoData = localStorage.getItem(`single-sign-on-${userAddress}`) + setIdentity(JSON.parse(ssoData || '')) + } + }, [userAddress]) + + return identity as AuthIdentity +} diff --git a/src/hooks/usePushSubscriptions.ts b/src/hooks/usePushSubscriptions.ts new file mode 100644 index 000000000..2fd2e681c --- /dev/null +++ b/src/hooks/usePushSubscriptions.ts @@ -0,0 +1,42 @@ +import { useMemo } from 'react' + +import { ChainId } from '@dcl/schemas/dist/dapps/chain-id' +import { useQuery } from '@tanstack/react-query' +import useAuthContext from 'decentraland-gatsby/dist/context/Auth/useAuthContext' + +import { PUSH_CHANNEL_ID } from '../constants' +import { isSameAddress } from '../entities/Snapshot/utils' +import { getCaipAddress, getPushNotificationsEnv } from '../utils/notifications' + +import { DEFAULT_QUERY_STALE_TIME } from './constants' + +export default function usePushSubscriptions() { + const [user, userState] = useAuthContext() + const chainId = userState.chainId || ChainId.ETHEREUM_GOERLI + const env = getPushNotificationsEnv(chainId) + + const { data: subscriptions, isLoading: isLoadingPushSubscriptions } = useQuery({ + queryKey: [`pushSubscriptions#${user}`], + queryFn: async () => { + if (!user) return null + const PushAPI = await import('@pushprotocol/restapi') + + return PushAPI.user.getSubscriptions({ + user: getCaipAddress(user, chainId), + env, + }) + }, + enabled: !!user, + staleTime: DEFAULT_QUERY_STALE_TIME, + }) + + const isSubscribedToDaoChannel = useMemo( + () => !!subscriptions?.find((item: { channel: string }) => isSameAddress(item.channel, PUSH_CHANNEL_ID)), + [subscriptions] + ) + + return { + isSubscribedToDaoChannel, + isLoadingPushSubscriptions, + } +} diff --git a/src/intl/en.json b/src/intl/en.json index 77fd2a19c..f063acbe2 100644 --- a/src/intl/en.json +++ b/src/intl/en.json @@ -66,15 +66,13 @@ "discord_title": "Discord Notifications", "discord_description": "Get direct messages from Marvin when something relavant to you happens" }, - "unsubscribed": { - "title": "Don't miss a beat", - "description": "We rely on a 3rd party service that you’ll have to opt-in to in order to proceed.", - "button": "In-app notifications", - "discord": "Discord notifications" + "error": { + "description": "Signature request failed", + "button": "Retry signature" }, "subscribing": { - "title": "Setting up notifications", - "description": "Before we begin populating your inbox, we need you to sign a transaction...", + "title": "Subscribe to Push Notifications", + "description": "Sign the message request with your wallet to subscribe to the DCL DAO Push Notifications channel", "button": "Signature pending" }, "discord": { @@ -678,12 +676,13 @@ "rationale_placeholder": "I'm voting \"{choice}\" because..." }, "identity_setup": { - "title": "Choose accounts to link", + "title": "Link your Decentraland profile to external services", + "description": "By linking your Decentraland profile to your other social accounts you will be able to enhance your governance experience and never miss a beat of what’s going on in the DAO.", "timer": "Time sensitive task. {time} left to complete", "timer_expired": "Signature expired. You'll have to start over.", "forum": { "card_title": "Decentraland Forum", - "card_description": "Link your Decentraland profile to the comments you left on proposals.", + "card_description": "Publish comments on proposals using your Decentraland profile.", "title": "Decentraland Forum Account", "title_step_1": "1. Sign message", "description_step_1": "Use your web3 wallet to securely sign a message to start the linking process.", @@ -717,7 +716,7 @@ }, "discord": { "card_title": "Discord", - "card_description": "Receive personalized notifications so you don't miss important events.", + "card_description": "Receive real-time notifications customized to your activity and never miss any important events.", "title": "Discord Account", "subtitle": "Follow these steps to link your account to your wallet and start getting notifications in Discord.", "action": "Confirm link", @@ -749,9 +748,13 @@ "error_subtext": "Maybe have a go at it one more time?", "error_button": "Retry" }, - "twitter": { - "card_title": "Twitter", - "card_description": "Let the world know that you are behind those witty tweets about the Metaverse." + "push": { + "card_title": "Push Protocol Notifications", + "card_description": "Receive notifications in your wallet or on any platform using this native web3 messaging protocol.", + "success_text": "**Push Notifications enabled successfully!**", + "success_subtext": "Now you will receive Governance-related notifications in your Push account.", + "success_button": "Connect other accounts", + "helper": "TRIGGERS MESSAGE SIGN REQUEST" }, "soon": "Soon", "verified": "Verified" @@ -795,6 +798,11 @@ "title": "Receive DAO Notifications in Discord!", "description": "Receive real-time, governance-related notifications directly in your Discord inbox.", "button_label": "Link Discord Account" + }, + "connect_accounts": { + "title": "Stay Updated, Wherever You Are", + "description": "Connect your Discord and Push accounts to receive real-time notifications about the latest news in the Decentraland DAO", + "button_label": "Connect your accounts" } }, "component": { @@ -1485,6 +1493,7 @@ "description": "Your profile within the DAO", "show_badges": "{amount} More", "view_past_badges": "View past badges", + "linked_profiles": "Linked profiles", "badges_sidebar": { "title": "Your Badges", "current": "{amount} Current {amount, plural, one {Badge} other {Badges}}", @@ -2201,5 +2210,10 @@ "maintenance": { "title": "Site under maintenance", "description": "We will be back soon, sorry for the inconvenience..." + }, + "account_toast": { + "title": "Stay updated, wherever you are", + "description": "Connect your Discord and Push accounts to receive real-time notifications about the latest developments in the Decentraland DAO.", + "button": "Connect accounts" } } diff --git a/src/pages/proposals.tsx b/src/pages/proposals.tsx index 2ee4600b0..a8dead638 100644 --- a/src/pages/proposals.tsx +++ b/src/pages/proposals.tsx @@ -108,9 +108,6 @@ export default function ProposalsPage() { return ( <> - - - @@ -122,6 +119,7 @@ export default function ProposalsPage() { )} +
@@ -139,9 +137,7 @@ export default function ProposalsPage() { )} -
- -
+ {!filtering && }