diff --git a/package.json b/package.json index f94367b..c7f4308 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "@polkadot-api/descriptors": "file:.papi/descriptors", "@polkadot-api/ledger-signer": "^0.1.6", "@polkadot-api/metadata-builders": "^0.9.1", - "@polkadot-api/observable-client": "^0.6.0", + "@polkadot-api/observable-client": "^0.6.2", "@polkadot-api/substrate-bindings": "^0.9.3", "@polkadot-api/substrate-client": "^0.3.0", "@polkadot-api/utils": "^0.1.2", @@ -44,13 +44,13 @@ "buffer": "^6.0.3", "class-variance-authority": "^0.7.0", "clsx": "^2.1.1", - "cmdk": "1.0.0", + "cmdk": "1.0.4", "lucide-react": "^0.454.0", - "polkadot-api": "^1.7.0", + "polkadot-api": "^1.7.2", "react": "^18.3.1", "react-dom": "^18.3.1", "react-portal": "^4.2.2", - "react-router-dom": "^6.27.0", + "react-router-dom": "^6.28.0", "react-svg": "^16.1.34", "react-virtuoso": "^4.12.0", "react18-json-view": "^0.2.8", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e4a4c94..8a8ec57 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,7 +27,7 @@ importers: version: 1.5.0 '@polkadot-api/descriptors': specifier: file:.papi/descriptors - version: file:.papi/descriptors(polkadot-api@1.7.0(jiti@2.4.0)(postcss@8.4.47)(rxjs@7.8.1)(smoldot@2.0.30)(yaml@2.6.0)) + version: file:.papi/descriptors(polkadot-api@1.7.2(jiti@2.4.0)(postcss@8.4.47)(rxjs@7.8.1)(yaml@2.6.0)) '@polkadot-api/ledger-signer': specifier: ^0.1.6 version: 0.1.6(@ledgerhq/hw-transport@6.31.4) @@ -35,8 +35,8 @@ importers: specifier: ^0.9.1 version: 0.9.1 '@polkadot-api/observable-client': - specifier: ^0.6.0 - version: 0.6.0(patch_hash=ntppxp7tto3f2viektlrpekj7y)(@polkadot-api/substrate-client@0.3.0)(rxjs@7.8.1) + specifier: ^0.6.2 + version: 0.6.2(patch_hash=ntppxp7tto3f2viektlrpekj7y)(@polkadot-api/substrate-client@0.3.0)(rxjs@7.8.1) '@polkadot-api/substrate-bindings': specifier: ^0.9.3 version: 0.9.3 @@ -107,14 +107,14 @@ importers: specifier: ^2.1.1 version: 2.1.1 cmdk: - specifier: 1.0.0 - version: 1.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 1.0.4 + version: 1.0.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) lucide-react: specifier: ^0.454.0 version: 0.454.0(react@18.3.1) polkadot-api: - specifier: ^1.7.0 - version: 1.7.0(jiti@2.4.0)(postcss@8.4.47)(rxjs@7.8.1)(smoldot@2.0.30)(yaml@2.6.0) + specifier: ^1.7.2 + version: 1.7.2(jiti@2.4.0)(postcss@8.4.47)(rxjs@7.8.1)(yaml@2.6.0) react: specifier: ^18.3.1 version: 18.3.1 @@ -125,8 +125,8 @@ importers: specifier: ^4.2.2 version: 4.2.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-router-dom: - specifier: ^6.27.0 - version: 6.27.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^6.28.0 + version: 6.28.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-svg: specifier: ^16.1.34 version: 16.1.34(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -915,8 +915,8 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - '@polkadot-api/cli@0.9.14': - resolution: {integrity: sha512-kpU5YF0K+UtCQuUZR7WQsiXEDhyTrlErx3bi8mhZDWGBb/diLvCSbuDFQubB/3XBcaMmEuQO+AURRvK3xDH1HA==} + '@polkadot-api/cli@0.9.16': + resolution: {integrity: sha512-+xFGhMnI/FeIwh7fUgMYPugt0gnAVI2ZJkdZOvU7zGRUORvZ8JH8v8vUVVUuc+Y9jJrdDpsL1ntCU/DtN+1dTA==} hasBin: true '@polkadot-api/codegen@0.12.7': @@ -959,8 +959,8 @@ packages: '@polkadot-api/metadata-compatibility@0.1.11': resolution: {integrity: sha512-XHl3McfuPSKDAIviGbiuK0epwzcspmvsWSoBywv0l6+adCPw1IpNKKkoj7Wwx4836duD/y/47hQEmkgIbtNQ3A==} - '@polkadot-api/observable-client@0.6.0': - resolution: {integrity: sha512-XeN9tM0RgC3JbgFvgHRLghWqN4pOs7/pfMUOW5F3y1dwrkryCQHE9Weme2n7vF38hLpBdvItq9Ee09kyxeiLzQ==} + '@polkadot-api/observable-client@0.6.2': + resolution: {integrity: sha512-0GsJDg95FA8idC+epQTrwkLmWdDl6JdSGuAVmy70TE1dVXC8l6lmVWpSX2ltF8ENqA7oXy7DlDEP7FrbvjvHfg==} peerDependencies: '@polkadot-api/substrate-client': 0.3.0 rxjs: '>=7.8.0' @@ -980,13 +980,16 @@ packages: '@polkadot-api/signers-common@0.1.1': resolution: {integrity: sha512-327dpMXr1lccrmG94MJqprkGGF5yZFYDBwl+YXl1ATeTDcaW1vzffCAPqx0vWytb2x3AWilJWyc3Q6xFUWzy4A==} - '@polkadot-api/sm-provider@0.1.3': - resolution: {integrity: sha512-/Sj6fPlUtu7BVEOeIxjflrO28G564fxM3JDjQZcv1V3hrAb22/p6I/toWej0zSZ6mEAXLjCIEWje14b/lyZmkw==} + '@polkadot-api/sm-provider@0.1.4': + resolution: {integrity: sha512-QTLJGMzAQQ4eTaebzxYUCrdld+GT7H/+4PxsK2PEGZ6b7l6OPEKIUI3oJzsb/JZDTW7G0aIH3tCpGTTYi0Svpg==} peerDependencies: - smoldot: '>=2' + '@polkadot-api/smoldot': '>=0.3' - '@polkadot-api/smoldot@0.3.3': - resolution: {integrity: sha512-9sXrC1lOJskb+SWQdBYoDtGXgC8fR2mPmMUVA7Lwky45903SUo61aAGiWb8Jh7BB6+Tfxhy3gll9fhj2mRiJKA==} + '@polkadot-api/smoldot-patch@100.0.0': + resolution: {integrity: sha512-68olKCnbmy5xw2PScg4f0qb3M4E9bm4LwU0kaUwmAp2obqiMwvbURNUahxvn3kUVOQXTX2cCc0OOsl7BR4XIhg==} + + '@polkadot-api/smoldot@0.3.4': + resolution: {integrity: sha512-EbUGE85Jb4CXGbLHmPN5vm3Ss5itZLRD3zsOhFZtUvbDOU/0xDEPZprnmEd1Gk34bC3lScgyXrDoq33yJ69e/w==} '@polkadot-api/substrate-bindings@0.9.3': resolution: {integrity: sha512-ygaZo8+xssTdb6lj9mA8RTlanDfyd0iMex3aBFC1IzOSm08XUWdRpuSLRuerFCimLzKuz/oBOTKdqBFGb7ybUQ==} @@ -1006,9 +1009,6 @@ packages: '@radix-ui/number@1.1.0': resolution: {integrity: sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ==} - '@radix-ui/primitive@1.0.1': - resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==} - '@radix-ui/primitive@1.1.0': resolution: {integrity: sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA==} @@ -1064,15 +1064,6 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-compose-refs@1.0.1': - resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@radix-ui/react-compose-refs@1.1.0': resolution: {integrity: sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw==} peerDependencies: @@ -1082,15 +1073,6 @@ packages: '@types/react': optional: true - '@radix-ui/react-context@1.0.1': - resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@radix-ui/react-context@1.1.0': resolution: {integrity: sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A==} peerDependencies: @@ -1109,19 +1091,6 @@ packages: '@types/react': optional: true - '@radix-ui/react-dialog@1.0.5': - resolution: {integrity: sha512-GjWJX/AUpB703eEBanuBnIWdIXg6NvJFCXcNlSZk4xdszCdhrJgBoUd1cGk67vFO+WdA2pfI/plOpqz/5GUP6Q==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - '@radix-ui/react-dialog@1.1.2': resolution: {integrity: sha512-Yj4dZtqa2o+kG61fzB0H2qUvmwBA2oyQroGLyNtBj1beo1khoQ3q1a2AO8rrQYjd8256CO9+N8L9tvsS+bnIyA==} peerDependencies: @@ -1144,19 +1113,6 @@ packages: '@types/react': optional: true - '@radix-ui/react-dismissable-layer@1.0.5': - resolution: {integrity: sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - '@radix-ui/react-dismissable-layer@1.1.1': resolution: {integrity: sha512-QSxg29lfr/xcev6kSz7MAlmDnzbP1eI/Dwn3Tp1ip0KT5CUELsxkekFEMVBEoykI3oV39hKT4TKZzBNMbcTZYQ==} peerDependencies: @@ -1170,15 +1126,6 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-focus-guards@1.0.1': - resolution: {integrity: sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@radix-ui/react-focus-guards@1.1.1': resolution: {integrity: sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg==} peerDependencies: @@ -1188,19 +1135,6 @@ packages: '@types/react': optional: true - '@radix-ui/react-focus-scope@1.0.4': - resolution: {integrity: sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - '@radix-ui/react-focus-scope@1.1.0': resolution: {integrity: sha512-200UD8zylvEyL8Bx+z76RJnASR2gRMuxlgFCPAe/Q/679a/r0eK3MBVYMb7vZODZcffZBdob1EGnky78xmVvcA==} peerDependencies: @@ -1214,15 +1148,6 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-id@1.0.1': - resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@radix-ui/react-id@1.1.0': resolution: {integrity: sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==} peerDependencies: @@ -1271,19 +1196,6 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-portal@1.0.4': - resolution: {integrity: sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - '@radix-ui/react-portal@1.1.2': resolution: {integrity: sha512-WeDYLGPxJb/5EGBoedyJbT0MpoULmwnIPMJMSldkuiMsBAv7N1cRdsTWZWht9vpPOiN3qyiGAtbK2is47/uMFg==} peerDependencies: @@ -1297,19 +1209,6 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-presence@1.0.1': - resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - '@radix-ui/react-presence@1.1.1': resolution: {integrity: sha512-IeFXVi4YS1K0wVZzXNrbaaUvIJ3qdY+/Ih4eHFhWA9SwGR9UDX7Ck8abvL57C4cv3wwMvUE0OG69Qc3NCcTe/A==} peerDependencies: @@ -1323,19 +1222,6 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-primitive@1.0.3': - resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - '@radix-ui/react-primitive@2.0.0': resolution: {integrity: sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw==} peerDependencies: @@ -1401,15 +1287,6 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-slot@1.0.2': - resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@radix-ui/react-slot@1.1.0': resolution: {integrity: sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw==} peerDependencies: @@ -1471,15 +1348,6 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-use-callback-ref@1.0.1': - resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@radix-ui/react-use-callback-ref@1.1.0': resolution: {integrity: sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==} peerDependencies: @@ -1489,15 +1357,6 @@ packages: '@types/react': optional: true - '@radix-ui/react-use-controllable-state@1.0.1': - resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@radix-ui/react-use-controllable-state@1.1.0': resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==} peerDependencies: @@ -1507,15 +1366,6 @@ packages: '@types/react': optional: true - '@radix-ui/react-use-escape-keydown@1.0.3': - resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@radix-ui/react-use-escape-keydown@1.1.0': resolution: {integrity: sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==} peerDependencies: @@ -1525,15 +1375,6 @@ packages: '@types/react': optional: true - '@radix-ui/react-use-layout-effect@1.0.1': - resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@radix-ui/react-use-layout-effect@1.1.0': resolution: {integrity: sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==} peerDependencies: @@ -1630,8 +1471,8 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - '@remix-run/router@1.20.0': - resolution: {integrity: sha512-mUnk8rPJBI9loFDZ+YzPGdeniYK+FTmRD1TMCz7ev2SNIozyKKpnGgsxO34u6Z4z/t0ITuu7voi/AshfsGsgFg==} + '@remix-run/router@1.21.0': + resolution: {integrity: sha512-xfSkCAchbdG5PnbrKqFWwia4Bi61nH+wm8wLEqfHDyp7Y3dZzgqS2itV8i4gAq9pC2HsTpwyBC6Ds8VHZ96JlA==} engines: {node: '>=14.0.0'} '@rollup/rollup-android-arm-eabi@4.24.2': @@ -2265,11 +2106,11 @@ packages: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} - cmdk@1.0.0: - resolution: {integrity: sha512-gDzVf0a09TvoJ5jnuPvygTB77+XdOSwEmJ88L6XPFPlv7T3RxbP9jgenfylrAMD0+Le1aO0nVjQUzl2g+vjz5Q==} + cmdk@1.0.4: + resolution: {integrity: sha512-AnsjfHyHpQ/EFeAnG216WY7A5LiYCoZzCSygiLvfXC3H3LFGCprErteUcszaVluGOhuOTbJS3jWHrSDYPBBygg==} peerDependencies: - react: ^18.0.0 - react-dom: ^18.0.0 + react: ^18 || ^19 || ^19.0.0-rc + react-dom: ^18 || ^19 || ^19.0.0-rc color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} @@ -3139,8 +2980,8 @@ packages: resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==} engines: {node: '>=10.13.0'} - polkadot-api@1.7.0: - resolution: {integrity: sha512-UOa+rduYk4HWsBZsUapIxR7ESyjecYTXLUDSTiQPwQGlQm20HnXwHdKJmfG1/NaxYb/+HsaCCktSfF2RYQn1ng==} + polkadot-api@1.7.2: + resolution: {integrity: sha512-Mn2up21cSZF4eRFzQDFEd/s7qLVaux/BSyBfGKxtTRxZmRsxnyYYXrcRiNu/H18bGvshRfZZcdDLEdQEcqXb9w==} hasBin: true peerDependencies: rxjs: '>=7.8.0' @@ -3276,16 +3117,6 @@ packages: '@types/react': optional: true - react-remove-scroll@2.5.5: - resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==} - engines: {node: '>=10'} - peerDependencies: - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - react-remove-scroll@2.6.0: resolution: {integrity: sha512-I2U4JVEsQenxDAKaVa3VZ/JeJZe0/2DxPWL8Tj8yLKctQJQiZM52pn/GWFpSp8dftjM3pSAHVJZscAnC/y+ySQ==} engines: {node: '>=10'} @@ -3296,15 +3127,15 @@ packages: '@types/react': optional: true - react-router-dom@6.27.0: - resolution: {integrity: sha512-+bvtFWMC0DgAFrfKXKG9Fc+BcXWRUO1aJIihbB79xaeq0v5UzfvnM5houGUm1Y461WVRcgAQ+Clh5rdb1eCx4g==} + react-router-dom@6.28.0: + resolution: {integrity: sha512-kQ7Unsl5YdyOltsPGl31zOjLrDv+m2VcIEcIHqYYD3Lp0UppLjrzcfJqDJwXxFw3TH/yvapbnUvPlAj7Kx5nbg==} engines: {node: '>=14.0.0'} peerDependencies: react: '>=16.8' react-dom: '>=16.8' - react-router@6.27.0: - resolution: {integrity: sha512-YA+HGZXz4jaAkVoYBE98VQl+nVzI+cVI2Oj/06F5ZM+0u3TgedN9Y9kmMRo2mnkSK2nCpNQn0DVob4HCsY/WLw==} + react-router@6.28.0: + resolution: {integrity: sha512-HrYdIFqdrnhDw0PqG/AKjAqEqM7AvxCz0DQ4h2W8k6nqmc5uRBYDag0SBxx9iYz5G8gnuNVLzUe13wl9eAsXXg==} engines: {node: '>=14.0.0'} peerDependencies: react: '>=16.8' @@ -3450,9 +3281,6 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - smoldot@2.0.30: - resolution: {integrity: sha512-5/KaEdIlTHg4+Hs8YovrCkwI+Y9QsKtoyWkHRqz15kXMZFsePf+KdMAPpDgReINK+at6t+D+uEVrCkd+r9JpyQ==} - sonic-boom@2.8.0: resolution: {integrity: sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==} @@ -4613,7 +4441,7 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@polkadot-api/cli@0.9.14(jiti@2.4.0)(postcss@8.4.47)(smoldot@2.0.30)(yaml@2.6.0)': + '@polkadot-api/cli@0.9.16(jiti@2.4.0)(postcss@8.4.47)(yaml@2.6.0)': dependencies: '@commander-js/extra-typings': 12.1.0(commander@12.1.0) '@polkadot-api/codegen': 0.12.7 @@ -4621,10 +4449,10 @@ snapshots: '@polkadot-api/json-rpc-provider': 0.0.4 '@polkadot-api/known-chains': 0.5.6 '@polkadot-api/metadata-compatibility': 0.1.11 - '@polkadot-api/observable-client': 0.6.0(patch_hash=ntppxp7tto3f2viektlrpekj7y)(@polkadot-api/substrate-client@0.3.0)(rxjs@7.8.1) + '@polkadot-api/observable-client': 0.6.2(patch_hash=ntppxp7tto3f2viektlrpekj7y)(@polkadot-api/substrate-client@0.3.0)(rxjs@7.8.1) '@polkadot-api/polkadot-sdk-compat': 2.3.1 - '@polkadot-api/sm-provider': 0.1.3(smoldot@2.0.30) - '@polkadot-api/smoldot': 0.3.3 + '@polkadot-api/sm-provider': 0.1.4(@polkadot-api/smoldot@0.3.4) + '@polkadot-api/smoldot': 0.3.4 '@polkadot-api/substrate-bindings': 0.9.3 '@polkadot-api/substrate-client': 0.3.0 '@polkadot-api/utils': 0.1.2 @@ -4647,7 +4475,6 @@ snapshots: - bufferutil - jiti - postcss - - smoldot - supports-color - tsx - utf-8-validate @@ -4661,9 +4488,9 @@ snapshots: '@polkadot-api/substrate-bindings': 0.9.3 '@polkadot-api/utils': 0.1.2 - '@polkadot-api/descriptors@file:.papi/descriptors(polkadot-api@1.7.0(jiti@2.4.0)(postcss@8.4.47)(rxjs@7.8.1)(smoldot@2.0.30)(yaml@2.6.0))': + '@polkadot-api/descriptors@file:.papi/descriptors(polkadot-api@1.7.2(jiti@2.4.0)(postcss@8.4.47)(rxjs@7.8.1)(yaml@2.6.0))': dependencies: - polkadot-api: 1.7.0(jiti@2.4.0)(postcss@8.4.47)(rxjs@7.8.1)(smoldot@2.0.30)(yaml@2.6.0) + polkadot-api: 1.7.2(jiti@2.4.0)(postcss@8.4.47)(rxjs@7.8.1)(yaml@2.6.0) '@polkadot-api/ink-contracts@0.1.2': dependencies: @@ -4714,7 +4541,7 @@ snapshots: '@polkadot-api/metadata-builders': 0.9.1 '@polkadot-api/substrate-bindings': 0.9.3 - '@polkadot-api/observable-client@0.6.0(patch_hash=ntppxp7tto3f2viektlrpekj7y)(@polkadot-api/substrate-client@0.3.0)(rxjs@7.8.1)': + '@polkadot-api/observable-client@0.6.2(patch_hash=ntppxp7tto3f2viektlrpekj7y)(@polkadot-api/substrate-client@0.3.0)(rxjs@7.8.1)': dependencies: '@polkadot-api/metadata-builders': 0.9.1 '@polkadot-api/substrate-bindings': 0.9.3 @@ -4751,16 +4578,23 @@ snapshots: '@polkadot-api/substrate-bindings': 0.9.3 '@polkadot-api/utils': 0.1.2 - '@polkadot-api/sm-provider@0.1.3(smoldot@2.0.30)': + '@polkadot-api/sm-provider@0.1.4(@polkadot-api/smoldot@0.3.4)': dependencies: '@polkadot-api/json-rpc-provider': 0.0.4 '@polkadot-api/json-rpc-provider-proxy': 0.2.3 - smoldot: 2.0.30 + '@polkadot-api/smoldot': 0.3.4 - '@polkadot-api/smoldot@0.3.3': + '@polkadot-api/smoldot-patch@100.0.0': dependencies: + ws: 8.18.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@polkadot-api/smoldot@0.3.4': + dependencies: + '@polkadot-api/smoldot-patch': 100.0.0 '@types/node': 22.9.0 - smoldot: 2.0.30 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -4792,10 +4626,6 @@ snapshots: '@radix-ui/number@1.1.0': {} - '@radix-ui/primitive@1.0.1': - dependencies: - '@babel/runtime': 7.25.7 - '@radix-ui/primitive@1.1.0': {} '@radix-ui/react-accordion@1.2.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': @@ -4852,26 +4682,12 @@ snapshots: '@types/react': 18.3.12 '@types/react-dom': 18.3.1 - '@radix-ui/react-compose-refs@1.0.1(@types/react@18.3.12)(react@18.3.1)': - dependencies: - '@babel/runtime': 7.25.7 - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.12 - '@radix-ui/react-compose-refs@1.1.0(@types/react@18.3.12)(react@18.3.1)': dependencies: react: 18.3.1 optionalDependencies: '@types/react': 18.3.12 - '@radix-ui/react-context@1.0.1(@types/react@18.3.12)(react@18.3.1)': - dependencies: - '@babel/runtime': 7.25.7 - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.12 - '@radix-ui/react-context@1.1.0(@types/react@18.3.12)(react@18.3.1)': dependencies: react: 18.3.1 @@ -4884,29 +4700,6 @@ snapshots: optionalDependencies: '@types/react': 18.3.12 - '@radix-ui/react-dialog@1.0.5(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@babel/runtime': 7.25.7 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-context': 1.0.1(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-id': 1.0.1(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slot': 1.0.2(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.12)(react@18.3.1) - aria-hidden: 1.2.4 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-remove-scroll: 2.5.5(@types/react@18.3.12)(react@18.3.1) - optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 - '@radix-ui/react-dialog@1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.0 @@ -4935,20 +4728,6 @@ snapshots: optionalDependencies: '@types/react': 18.3.12 - '@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@babel/runtime': 7.25.7 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.3.12)(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 - '@radix-ui/react-dismissable-layer@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.0 @@ -4962,31 +4741,12 @@ snapshots: '@types/react': 18.3.12 '@types/react-dom': 18.3.1 - '@radix-ui/react-focus-guards@1.0.1(@types/react@18.3.12)(react@18.3.1)': - dependencies: - '@babel/runtime': 7.25.7 - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.12 - '@radix-ui/react-focus-guards@1.1.1(@types/react@18.3.12)(react@18.3.1)': dependencies: react: 18.3.1 optionalDependencies: '@types/react': 18.3.12 - '@radix-ui/react-focus-scope@1.0.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@babel/runtime': 7.25.7 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.12)(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 - '@radix-ui/react-focus-scope@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) @@ -4998,14 +4758,6 @@ snapshots: '@types/react': 18.3.12 '@types/react-dom': 18.3.1 - '@radix-ui/react-id@1.0.1(@types/react@18.3.12)(react@18.3.1)': - dependencies: - '@babel/runtime': 7.25.7 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.12)(react@18.3.1) - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.12 - '@radix-ui/react-id@1.1.0(@types/react@18.3.12)(react@18.3.1)': dependencies: '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1) @@ -5063,16 +4815,6 @@ snapshots: '@types/react': 18.3.12 '@types/react-dom': 18.3.1 - '@radix-ui/react-portal@1.0.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@babel/runtime': 7.25.7 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 - '@radix-ui/react-portal@1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -5083,17 +4825,6 @@ snapshots: '@types/react': 18.3.12 '@types/react-dom': 18.3.1 - '@radix-ui/react-presence@1.0.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@babel/runtime': 7.25.7 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.12)(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 - '@radix-ui/react-presence@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) @@ -5104,16 +4835,6 @@ snapshots: '@types/react': 18.3.12 '@types/react-dom': 18.3.1 - '@radix-ui/react-primitive@1.0.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@babel/runtime': 7.25.7 - '@radix-ui/react-slot': 1.0.2(@types/react@18.3.12)(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 - '@radix-ui/react-primitive@2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@18.3.1) @@ -5204,14 +4925,6 @@ snapshots: '@types/react': 18.3.12 '@types/react-dom': 18.3.1 - '@radix-ui/react-slot@1.0.2(@types/react@18.3.12)(react@18.3.1)': - dependencies: - '@babel/runtime': 7.25.7 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.12)(react@18.3.1) - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.12 - '@radix-ui/react-slot@1.1.0(@types/react@18.3.12)(react@18.3.1)': dependencies: '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) @@ -5281,27 +4994,12 @@ snapshots: '@types/react': 18.3.12 '@types/react-dom': 18.3.1 - '@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.3.12)(react@18.3.1)': - dependencies: - '@babel/runtime': 7.25.7 - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.12 - '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.12)(react@18.3.1)': dependencies: react: 18.3.1 optionalDependencies: '@types/react': 18.3.12 - '@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.3.12)(react@18.3.1)': - dependencies: - '@babel/runtime': 7.25.7 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.12)(react@18.3.1) - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.12 - '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.12)(react@18.3.1)': dependencies: '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1) @@ -5309,14 +5007,6 @@ snapshots: optionalDependencies: '@types/react': 18.3.12 - '@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.3.12)(react@18.3.1)': - dependencies: - '@babel/runtime': 7.25.7 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.12)(react@18.3.1) - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.12 - '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.3.12)(react@18.3.1)': dependencies: '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1) @@ -5324,13 +5014,6 @@ snapshots: optionalDependencies: '@types/react': 18.3.12 - '@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.3.12)(react@18.3.1)': - dependencies: - '@babel/runtime': 7.25.7 - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.12 - '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.12)(react@18.3.1)': dependencies: react: 18.3.1 @@ -5421,7 +5104,7 @@ snapshots: dependencies: react: 18.3.1 - '@remix-run/router@1.20.0': {} + '@remix-run/router@1.21.0': {} '@rollup/rollup-android-arm-eabi@4.24.2': optional: true @@ -6244,12 +5927,14 @@ snapshots: clsx@2.1.1: {} - cmdk@1.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + cmdk@1.0.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@radix-ui/react-dialog': 1.0.5(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dialog': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + use-sync-external-store: 1.2.2(react@18.3.1) transitivePeerDependencies: - '@types/react' - '@types/react-dom' @@ -7114,22 +6799,22 @@ snapshots: pngjs@5.0.0: {} - polkadot-api@1.7.0(jiti@2.4.0)(postcss@8.4.47)(rxjs@7.8.1)(smoldot@2.0.30)(yaml@2.6.0): + polkadot-api@1.7.2(jiti@2.4.0)(postcss@8.4.47)(rxjs@7.8.1)(yaml@2.6.0): dependencies: - '@polkadot-api/cli': 0.9.14(jiti@2.4.0)(postcss@8.4.47)(smoldot@2.0.30)(yaml@2.6.0) + '@polkadot-api/cli': 0.9.16(jiti@2.4.0)(postcss@8.4.47)(yaml@2.6.0) '@polkadot-api/ink-contracts': 0.2.0 '@polkadot-api/json-rpc-provider': 0.0.4 '@polkadot-api/known-chains': 0.5.6 '@polkadot-api/logs-provider': 0.0.6 '@polkadot-api/metadata-builders': 0.9.1 '@polkadot-api/metadata-compatibility': 0.1.11 - '@polkadot-api/observable-client': 0.6.0(patch_hash=ntppxp7tto3f2viektlrpekj7y)(@polkadot-api/substrate-client@0.3.0)(rxjs@7.8.1) + '@polkadot-api/observable-client': 0.6.2(patch_hash=ntppxp7tto3f2viektlrpekj7y)(@polkadot-api/substrate-client@0.3.0)(rxjs@7.8.1) '@polkadot-api/pjs-signer': 0.6.0 '@polkadot-api/polkadot-sdk-compat': 2.3.1 '@polkadot-api/polkadot-signer': 0.1.6 '@polkadot-api/signer': 0.1.10 - '@polkadot-api/sm-provider': 0.1.3(smoldot@2.0.30) - '@polkadot-api/smoldot': 0.3.3 + '@polkadot-api/sm-provider': 0.1.4(@polkadot-api/smoldot@0.3.4) + '@polkadot-api/smoldot': 0.3.4 '@polkadot-api/substrate-bindings': 0.9.3 '@polkadot-api/substrate-client': 0.3.0 '@polkadot-api/utils': 0.1.2 @@ -7141,7 +6826,6 @@ snapshots: - bufferutil - jiti - postcss - - smoldot - supports-color - tsx - utf-8-validate @@ -7256,17 +6940,6 @@ snapshots: optionalDependencies: '@types/react': 18.3.12 - react-remove-scroll@2.5.5(@types/react@18.3.12)(react@18.3.1): - dependencies: - react: 18.3.1 - react-remove-scroll-bar: 2.3.6(@types/react@18.3.12)(react@18.3.1) - react-style-singleton: 2.2.1(@types/react@18.3.12)(react@18.3.1) - tslib: 2.8.0 - use-callback-ref: 1.3.2(@types/react@18.3.12)(react@18.3.1) - use-sidecar: 1.1.2(@types/react@18.3.12)(react@18.3.1) - optionalDependencies: - '@types/react': 18.3.12 - react-remove-scroll@2.6.0(@types/react@18.3.12)(react@18.3.1): dependencies: react: 18.3.1 @@ -7278,16 +6951,16 @@ snapshots: optionalDependencies: '@types/react': 18.3.12 - react-router-dom@6.27.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + react-router-dom@6.28.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@remix-run/router': 1.20.0 + '@remix-run/router': 1.21.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-router: 6.27.0(react@18.3.1) + react-router: 6.28.0(react@18.3.1) - react-router@6.27.0(react@18.3.1): + react-router@6.28.0(react@18.3.1): dependencies: - '@remix-run/router': 1.20.0 + '@remix-run/router': 1.21.0 react: 18.3.1 react-style-singleton@2.2.1(@types/react@18.3.12)(react@18.3.1): @@ -7454,13 +7127,6 @@ snapshots: signal-exit@4.1.0: {} - smoldot@2.0.30: - dependencies: - ws: 8.18.0 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - sonic-boom@2.8.0: dependencies: atomic-sleep: 1.0.0 diff --git a/src/chain.state.ts b/src/chain.state.ts index 43241d9..87fdbe4 100644 --- a/src/chain.state.ts +++ b/src/chain.state.ts @@ -1,6 +1,6 @@ import { getDynamicBuilder, getLookupFn } from "@polkadot-api/metadata-builders" import { getObservableClient } from "@polkadot-api/observable-client" -import { decAnyMetadata } from "@polkadot-api/substrate-bindings" +import { decAnyMetadata, HexString } from "@polkadot-api/substrate-bindings" import { createClient as createSubstrateClient, JsonRpcProvider, @@ -190,13 +190,33 @@ const uncachedRuntimeCtx$ = chainClient$.pipeState( switchMap(({ chainHead }) => chainHead.runtime$), filter((v) => !!v), ) + +const getMetadataCache = () => { + const cached = localStorage.getItem(`metadata-cache`) + return new Map( + cached ? JSON.parse(cached) : [], + ) +} +const getCachedMetadata = (id: string) => + getMetadataCache().get(id)?.data ?? null +const setCachedMetadata = (id: string, data: HexString) => { + const cached = getMetadataCache() + cached.set(id, { time: Date.now(), data }) + if (cached.size > 3) { + const oldest = [...cached.entries()].reduce((a, b) => + a[1].time < b[1].time ? a : b, + )[0] + cached.delete(oldest) + } + localStorage.setItem("metadata-cache", JSON.stringify([...cached.entries()])) +} export const runtimeCtx$ = chainClient$.pipeState( switchMap(({ id }) => { - const cached = localStorage.getItem(`metadata-${id}`) + const cached = getCachedMetadata(id) const realCtx$ = uncachedRuntimeCtx$.pipe( tap((v) => { - localStorage.setItem(`metadata-${id}`, toHex(v.metadataRaw)) + setCachedMetadata(id, toHex(v.metadataRaw)) }), ) diff --git a/src/pages/Explorer/BlockTime.tsx b/src/pages/Explorer/BlockTime.tsx index 6899c87..d5ead9a 100644 --- a/src/pages/Explorer/BlockTime.tsx +++ b/src/pages/Explorer/BlockTime.tsx @@ -1,5 +1,6 @@ import { chainHead$, runtimeCtx$ } from "@/chain.state" import { CircularProgress } from "@/components/CircularProgress" +import { groupBy } from "@/lib/groupBy" import { state, useStateObservable } from "@react-rxjs/core" import { animationFrames, @@ -22,9 +23,12 @@ const bestBlockTime$ = best$.pipeState( const targetTime$ = state( runtimeCtx$.pipe( map(({ dynamicBuilder, lookup }) => { - const ct = lookup.metadata.pallets - .find((p) => p.name === "Babe") - ?.constants.find((ct) => ct.name === "ExpectedBlockTime") + const palletsByName = groupBy(lookup.metadata.pallets, (p) => p.name) + const getConstant = (pallet: string, constant: string) => + palletsByName[pallet]?.[0]?.constants.find((ct) => ct.name === constant) + const ct = + getConstant("Babe", "ExpectedBlockTime") ?? + getConstant("Aura", "SlotDuration") if (!ct) return null try { const res = dynamicBuilder.buildDefinition(ct.type).dec(ct.value)